首页 > 解决方案 > 如何将 JSON 转换为以下结构的数组

问题描述

我从firebase realtime数据库数据中获取数据并传递数据谷歌电子表格。我在 json 对象中挣扎数据映射。

任何人都可以帮助我解决这个请求。

我的 firebase 实时数据库结构:https ://XXXXX.firebaseio.com/users.json

{
"4rjF1iwudEXEevtzEoGwDrEtEpI3":
   {
     "agg1":true,
     "agg2":true,
     "category":"Solo"
   },

"8I71pW0JXqflBQf5YMBdJ0kv8F13":
   {
     "agg1":true,
     "agg2":true,
     "category":"Trio"
   }
}

我试过这张地图。

var itemArray = [];
  var valueArray = [];
  Object.keys(data).forEach((key, index) => {
    itemArray.push(key);
    itemArray.push(data[key]);
    valueArray[index] = itemArray;
    itemArray = [];
  });

标签: javascriptjsonfirebasefirebase-realtime-database

解决方案


使用Object.values(data)insted 的Object.keys(data)。像这样

var itemArray = [];
  var valueArray = [];
  Object.values(data).forEach((value, index) => {
    itemArray.push(value);
  });

您的代码也应该可以工作,但是您添加了不敬的行,像这样删除它。

var itemArray = [];
  var valueArray = [];
  Object.keys(data).forEach((key, index) => {
    itemArray.push(data[key]);
  });

推荐阅读