在网页上显示完整的Firebase JSON数据

showing complete firebase json data on webpage

本文关键字:Firebase JSON 数据 网页 显示      更新时间:2023-09-26

我正在使用Firebase来收集数据,我想创建一个临时网页,以便在测试时快速查看json数据库(并共享它)。数据按日期字符串分组,然后按随机键分组,然后按数据分组。例如:

{
  "20160304" : {
    "-KC-aOwSWpt4dlYmjJE4" : {
      "coordinates" : "-37.7811465912404, 145.005993055861",
      "event" : "Test event",
      "time" : "2016-03-04 07:48:43 +0000"
    }, etc...

为了测试显示事件数据,我在 html 中使用 javascript,如下所示:

var myFirebaseRef = new Firebase("https://xxxx.firebaseio.com/");
myFirebaseRef.orderByKey().on("value", function(snapshot) {
  snapshot.forEach(function(snapshot) {
    console.log("The " + snapshot.key() + " event is " + snapshot.val().event);
  });
});

但它只返回未定义20160304事件未定义20160305事件

有谁知道我如何获取事件字符串?

您正在尝试跳过 JSON 中的某个级别:

<date>
    <pushid>
        coordinates: ...
        event: ...
        time: ...

由于您正在侦听根(如果此结构),因此您的snapshot.forEach()会循环使用日期。这意味着您仍然需要遍历推送 ID:

var myFirebaseRef = new Firebase("https://xxxx.firebaseio.com/");

myFirebaseRef.orderByKey().on("value", function(snapshot) {
  snapshot.forEach(function(snapshot) {
    var events = snapshot.val();
    Object.keys(events).forEach(function(key) {
      console.log(events[key]);
    });
  });
});

另一方面,如果您只想每天满足一个事件的需求,则应将它们存储起来,而没有推送级别。