[英]How to read a complex and nested json data
我的問題是,如何使用javascript讀取特定形式的json數據,例如,如果我有此格式,對我來說似乎很困難,所以可以幫助我。
{
"jQRReponse": [
[
{
"sujet": "RHONE ALPES",
"verbe": "est_le_nom_de_la_region",
"complement": {
"sujet": "82",
"verbe": "est_la_region_du_dept",
"complement": {
"sujet": "01",
"verbe": "est_le_numero_du_dept",
"complement": {
"sujet": "Ain",
"verbe": "contient_les_resultats_de_depAnn",
"complement": {
"sujet": "Ain2014",
"verbe": "Pop_results_Ens_Total",
"complement": "626794"
}
}
}
}
}
],
[
{
"sujet": "RHONE-ALPES",
"verbe": "est_le_nom_de_la_region",
"complement": {
"sujet": "82",
"verbe": "est_la_region_du_dept",
"complement": {
"sujet": "01",
"verbe": "est_le_numero_du_dept",
"complement": {
"sujet": "Ain",
"verbe": "contient_les_resultats_de_depAnn",
"complement": {
"sujet": "Ain2014",
"verbe": "Pop_results_Ens_Total",
"complement": "626794"
}
}
}
}
}
]
]
}
假設我有這個表格:
data : [{
toto:5,
mama:10
},
{
toto:99,
mama:10
},
{
toto:88,
mama:10
}]
我將在這樣的索引上讀取toto值: data[i].toto
。
那么我該如何做第一個。
謝謝
如果知道元素,深度和鍵,則可以訪問此嵌套json對象的特定部分。
假設您的元素為0,深度為2,鍵為verbe
,則可以這樣:
nestedObj[0].complement.complement.complement.verbe
如果您需要遍歷整個對象並找到所需的內容,則可以對每個元素使用遞歸函數。
function traverse_it(obj){
for(var prop in obj){
console.log(obj[prop]); //Or whatever you want to do with this level
if(typeof obj[prop]=='object'){
traverse_it(obj[prop[i]]); //Function goes to the next level here
}
}
}
traverse_it(nestedObj);
這里有很多見識
您可以遍歷所有數據並獲得補償。
訪問的形式如下
data.jQRReponse[0][0].complement.complement.sujet
// returns "01"
function read(o) { Object.keys(o).forEach(function (k) { if (o[k] !== null && typeof o[k] === 'object') { console.log(k + ' -->'); read(o[k]); return; } console.log(k + ': ' + o[k]); }); } var data = { "jQRReponse": [[{ "sujet": "RHONE ALPES", "verbe": "est_le_nom_de_la_region", "complement": { "sujet": "82", "verbe": "est_la_region_du_dept", "complement": { "sujet": "01", "verbe": "est_le_numero_du_dept", "complement": { "sujet": "Ain", "verbe": "contient_les_resultats_de_depAnn", "complement": { "sujet": "Ain2014", "verbe": "Pop_results_Ens_Total", "complement": "626794" } } } } }], [{ "sujet": "RHONE-ALPES", "verbe": "est_le_nom_de_la_region", "complement": { "sujet": "82", "verbe": "est_la_region_du_dept", "complement": { "sujet": "01", "verbe": "est_le_numero_du_dept", "complement": { "sujet": "Ain", "verbe": "contient_les_resultats_de_depAnn", "complement": { "sujet": "Ain2014", "verbe": "Pop_results_Ens_Total", "complement": "626794" } } } } }]] }; read(data, []);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.