JSON对象 - 在React Native中访问值

时间:2016-03-17 23:30:02

标签: javascript json node.js react-native

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

当代码从 { '1': { name: 'Galaxy', description: '20gram bars', _id: 1 }, '2': { name: 'Snickers', description: 'Hazelnuts', count: 2, _id: 2 } } 方法返回时,它返回到JSON对象内部,我基本上会喜欢结果中的值,因此我可以迭代它以获取列表。

返回的结果:

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

以及期望的结果,以便我可以轻松地迭代数组中的对象,然后在React Native中呈现列表。

Object.keys

访问这些值的任何建议?我已尝试使用Object.values,然后使用{{1}},但遗憾地无效。

2 个答案:

答案 0 :(得分:7)

您可以使用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

答案 1 :(得分:1)

如果您正在使用lodash,只需一行代码即可用于您的目的

_.values(YOUR_OBJECT);

https://lodash.com/docs#values

它将从您的对象中生成一组值。