繁体   English   中英

从Firebase解析JSON对象并使用键值对生成内容

[英]Parsing JSON object from Firebase and using key value pairs to generate content

我已经用Firebase建立了一个数据库,并在其中填充了JSON信息。 我有直接从Firebase文档获取的代码,该代码为我的数据制作了快照并实时更新。 这非常适合我的需要,但是我还需要访问JSON中的值以生成类似于以下内容的内容列表:

var JSONStuff = json info on database
for (every array in the JSON)
{
  //MAKE THINGS
} 

我通常使用php脚本和SQL数据库来执行此操作,但是我是第一次使用Firebase,所以我不确定自己做错了什么。 这是我到目前为止所拥有的。

JavaScript的:

var display = document.getElementById("resultsDisplay");
var dbRef = firebase.database().ref().child("workouts");
// Sync with Firebase in real time.
dbRef.on("value", snap =>
{
  //display.innerHTML = JSON.stringify(snap.val(), null, 3); This correctly prints my JSON.
  JSON.stringify(snap.val(), null, 3);
});

JSON.parse(dbRef) //Trying to parse the JSON and do things with it.
{
  for (var i = 0, len = dbRef.length; i < len; i++)
  {
    display.innerHTML = 'Routine: ' + dbRef.title + ' Exercises: ' + dbRef.name + '.';
  }
};

HTML:

<div id="resultsDisplay">boo</div>

控制台向我显示“ Uncaught SyntaxError:JSON中意外的令牌h”错误,我知道这意味着在我的解析器的某个地方有双引号,但您可以看到我没有在函数中使用它们。

我是一个菜鸟,因此可能做的事情完全很傻,但是任何帮助将不胜感激。

当前,您正在尝试解析数据库引用dbRef而不是数据本身。

尝试这样做:

var display = document.getElementById("resultsDisplay");
var dbRef = firebase.database().ref().child("workouts");

// Sync with Firebase in real time.
dbRef.on("value", snap => {
  var workoutsJSON = JSON.stringify(snap.val(), null, 3);

  JSON.parse(workoutsJSON) {
    for (var i = 0, len = dbRef.length; i < len; i++) {
      display.innerHTML = 'Routine: ' + dbRef.title + ' Exercises: ' + dbRef.name + '.';
    }
  };
});

只是给你一个想法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM