我已經使用Firebase設置了一個數據庫,並且使用JSON信息填充了它。我擁有直接從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>
控制檯給我 「未捕獲的SyntaxError:意外的標記的H JSON」 的錯誤,我知道意味着有雙引號搞亂我的解析器的某處,但正如你所看到的,我沒有在函數中使用它們。
我是一個noob,因此可能做的事情完全愚蠢,但任何幫助將不勝感激。
您正試圖'JSON.parse'數據庫引用,而不是值。你需要在'.on('value')'回調內部操作,並且爲你的JSON使用'snap.val()',而不是'dbRef'。 –
謝謝,這是有道理的。但是,我所取得的所有成就都是擺脫了控制檯錯誤,沒有其他任何顯示。我認爲我錯誤地引用了key:value對。 – Brian