JSON 对象 - 在 React Native 中访问值

JSON object - Accessing Values in React Native

本文关键字:访问 Native React 对象 JSON      更新时间:2023-09-26

在我的 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可悲地无济于事。

您可以使用

in 运算符来执行此操作:

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

>如果您正在使用lodash则只需一行代码即可满足您的目的

_.values(YOUR_OBJECT);

https://lodash.com/docs#values

它将从您的对象创建一个值数组。