[英]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.