{
"EWsd5eHpriTDfhNTJux8IByrkUD2":{
"appointmentDetail":"",
"appointmentPrescription":"",
"email":"ronaldoraj57@gmail.com",
"firstName":"Raja",
"gender":"Male",
"hospitalInformation":"",
"icNumDOB":990708,
"icNumID":4222,
"icNumState":7,
"lastName":"Shilan",
"phoneNumber":"+60123456789",
"username":"rajashilan"
}
}
我正在从Firebase数据库中检索此JSON数据。 link to the firebase database picture。
我试图一个接一个地访问JSON中的数据,例如: 电子邮件:ronaldoraj57@gmail.com。
databaseRef.orderByChild("icNumID")
.equalTo(parseInt(search1))
.on("value",function(snapshot){
console.log(snapshot.val());
var dataJSON=JSON.stringify(snapshot.val());
var json=JSON.parse(dataJSON);
document.getElementById("datalist").innerHTML=json.email;
if(snapshot.val()==null){
window.alert("IC Number not registered in database.");
}
snapshot.forEach(function(data){
console.log(data.key);
});
});
答案 0 :(得分:0)
使用DataSnapshot.forEach()
遍历匹配查询的节点,然后使用DataSnapshot.exists()
查看是否有任何结果:
databaseRef
.orderByChild("icNumID")
.equalTo(parseInt(search1))
.on("value", function(results){
if(!results.exists()){
window.alert("IC Number not registered in database.");
}
else {
results.forEach(function(snapshot) {
var json = snapshot.val();
console.log(json);
document.getElementById("datalist").innerHTML=json.email;
});
}
});
答案 1 :(得分:0)
我认为您根本不需要使用JSON方法。试试:
ref.once("value").then(snapshot => {
snapshot.child("email").val()
})