Firebase实时数据库从JSON中删除一些字段

时间:2018-06-14 12:25:35

标签: json firebase firebase-realtime-database

我在Firebase实时数据库中保存了以下JSON!有趣的是,当我导入Fixtures JSON或从实时数据库中的Firebase云功能写入时,它会排除resultobj

原创JSON:

{
  "_links": {
    "self": {
      "href": "http://api.football-data.org/v1/fixtures/165069"
    },
    "competition": {
      "href": "http://api.football-data.org/v1/competitions/467"
    },
    "homeTeam": {
      "href": "http://api.football-data.org/v1/teams/808"
    },
    "awayTeam": {
      "href": "http://api.football-data.org/v1/teams/801"
    }
  },
  "date": "2018-06-14T15:00:00Z",
  "status": "TIMED",
  "matchday": 1,
  "homeTeamName": "Russia",
  "awayTeamName": "Saudi Arabia",
  "result": {
    "goalsHomeTeam": null,
    "goalsAwayTeam": null
  },
  "odds": null
}

当我复制/通过JSON时,结果和赔率键/值对消失。以下图片显示了Firebase实时数据库。 enter image description here

可能有什么问题?以及如何纠正它?

2 个答案:

答案 0 :(得分:2)

这是因为resultodd的值为“null”。 Firebase不支持Null值。结帐this question。该问题引用了Firebase的文档,其中包含以下行:

为新值传递null等效于调用remove();此位置或任何子位置的所有数据都将被删除。

答案 1 :(得分:1)

我好像Firebase实时数据库不喜欢空值!所以我必须将oddsresult的所有值设置为固定的东西!工作JSON是:

{
  "_links": {
    "self": {
      "href": "http://api.football-data.org/v1/fixtures/165069"
    },
    "competition": {
      "href": "http://api.football-data.org/v1/competitions/467"
    },
    "homeTeam": {
      "href": "http://api.football-data.org/v1/teams/808"
    },
    "awayTeam": {
      "href": "http://api.football-data.org/v1/teams/801"
    }
  },
  "date": "2018-06-14T15:00:00Z",
  "status": "TIMED",
  "matchday": 1,
  "homeTeamName": "Russia",
  "awayTeamName": "Saudi Arabia",
  "result": {
    "goalsHomeTeam": "null",
    "goalsAwayTeam": "null"
  },
  "odds": "null"
}