我正在从Firebase获取JSON对象。我正在尝试将其转换为对象数组。
我可以通过将Firebase中的孩子一个接一个地添加到数组中来解决这个问题,但这对我来说不是一个好习惯。
JSON对象的格式如下:
key: {
id1: {some stuff here},
id2: {some other stuff},
...
}
现在我想从这个JSON对象获得的是:
arrayName: [
{id1:{some stuff here},
id2:{some other stuff}
]
希望我的描述完全可以理解。 任何帮助将不胜感激
答案 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);