首页 > 解决方案 > 在 React Native 中重新映射 Firebase JSON 数据

问题描述

编辑:在了解更多关于我的初始问题后,我不得不改变这个问题。

具有如下所示的数据:

{
  "-fdsdsghdfsgsfdfdgfd" : {
    "latitude" : -37.830331,
    "longitude" : 144.9923426,
    "found" : false
  },
  "-dsdgfrdhfdgfdgdgfd" : {
    "latitude" : -37.830331,
    "longitude" : 144.9923426,
    "found" : false
  },
  "-Lv3cEcoiJ1wtajIzPyy" : {
    "latitude" : -37.830331,
    "longitude" : 144.9923426,
    "found" : false
  }
}

这样导入 import waypoint from '../data/jobdata.json';

是否可以轻松地重新映射数据以遵循这种形式......

const waypoint = [
    {latitude: -37.830331, longitude: 144.9923426, found: false },
    {latitude: -37.830331, longitude: 144.9923426, found: false },
    {latitude: -37.830331, longitude: 144.9923426, found: false }
];

我只是不太了解 React Native,无法理解如何解决这个问题。

我不想从 Firebase 获取数据,我们假设它是一个像上面这样的 JSON 文件。

谢谢

标签: jsonreactjsfirebasereact-native

解决方案


假设您对每个子对象都有唯一的对象键,下面是解决方案。现在你可以遍历Object.values(data)

let data = {
  "First" : {
    "latitude" : -37.830331,
    "longitude" : 144.9923426,
    "found" : false
  },
  "Second" : {
    "latitude" : -37.830331,
    "longitude" : 144.9923426,
    "found" : false
  },
  "Third" : {
    "latitude" : -37.830331,
    "longitude" : 144.9923426,
    "found" : false
  }
}

console.log(Object.values(data));


推荐阅读