如何在React Native中将JSON对象转换为数组

时间:2019-09-11 09:31:40

标签: arrays json react-native

我正在从Firebase获取JSON对象。我正在尝试将其转换为对象数组。

我可以通过将Firebase中的孩子一个接一个地添加到数组中来解决这个问题,但这对我来说不是一个好习惯。

JSON对象的格式如下:

key: {
      id1: {some stuff here},
      id2: {some other stuff},
    ...
}

现在我想从这个JSON对象获得的是:

arrayName: [
         {id1:{some stuff here},
         id2:{some other stuff}
]

希望我的描述完全可以理解。 任何帮助将不胜感激

3 个答案:

答案 0 :(得分:4)

这只是普通的javascript,与react native没有关系。顺便说一句,您可以使用Object.keys获取具有所有键的数组,然后将字符串映射为对象:

const x = {foo: 11, bar: 42};
const result = Object.keys(x).map(key => ({[key]: x[key]}));
console.log(result);

答案 1 :(得分:0)

这段代码对我有用。

const JSONString = res.data;
      object = JSON.parse(JSONString);
      array = Object.keys(object).map(function(k) {
        return object[k];
      });

res.data是我从api获得的响应

答案 2 :(得分:0)

使用Object.entries,可以避免在每个项目上进行多余的哈希查找。

const x = { foo: 11, bar: 42 };
const result = Object.entries(x).map(([key, val]) => ({
  [key]: val
}));
console.log(result);