【问题标题】:JSON object - Accessing Values in React NativeJSON 对象 - 在 React Native 中访问值
【发布时间】:2016-07-04 13:35:50
【问题描述】:

在我的 React Native 应用程序中,我使用的是 RNDBModels 包,它是 AsyncStorage 的包装器。目前我正在通过 RNDBModels 保存一个 JSON 对象并且可以正常工作,但是事实证明访问数据具有挑战性。

当代码从get 方法返回时,它会在 JSON 对象中返回,我基本上想要结果中的值,这样我就可以遍历它以获得一个列表。

返回结果:

 { 
  '1': 
    { 
      name: 'Galaxy', 
      description: '20gram bars', 
      _id: 1 
    },
  '2':
    {
      name: 'Snickers', 
      description: 'Hazelnuts', 
      count: 2, 
      _id: 2 
    }
 }

以及期望的结果,这样我就可以轻松地遍历数组中的对象,然后在 React Native 中呈现一个列表。

[
 { 
    name: 'Galaxy', 
    description: '20gram bars', 
    _id: 1 
 },
 {
    name: 'Snickers', 
    description: 'Hazelnuts', 
    count: 2, 
      _id: 2 
  }
 ]

对访问这些值有什么建议吗?我曾尝试使用Object.keys,然后使用Object.values,可悲的是无济于事。

【问题讨论】:

    标签: javascript json node.js react-native


    【解决方案1】:

    如果您使用 lodash,只需一行代码即可满足您的目的

    _.values(YOUR_OBJECT);
    

    https://lodash.com/docs#values

    它将根据您的对象生成一个值数组。

    【讨论】:

      【解决方案2】:

      您可以使用in operator

      const data =  { 
        '1': { 
          name: 'Galaxy', 
          description: '20gram bars', 
          _id: 1 
        },
        '2': {
          name: 'Snickers', 
          description: 'Hazelnuts', 
          count: 2, 
          _id: 2 
          }
      };
      
      var array = [];
      
      for (let prop in data) {
        array.push(data[prop]);
      }
      
      console.log(array);
      

      JSFiddle

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-02-01
        • 2019-12-05
        • 2023-03-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多