所以,我有這個json文件,其中我必須取出fileName標籤,並使用它。如何使用javascript訪問json中的嵌套密鑰
{
"dataset": {
"private": false,
"stdyDscr": {
"citation": {
"titlStmt": {
"titl": "Smoke test",
"IDNo": {
"text": "10.5072/FK2/WNCZ16",
".attrs": {
"agency": "doi"
}
}
},
"rspStmt": {
"AuthEnty": "Dataverse, Admin"
},
"biblCit": "Dataverse, Admin, 2015, \"Smoke test\", http://dx.doi.org/10.5072/FK2/WNCZ16, Root Dataverse, V1 [UNF:6:iuFERYJSwTaovVDvwBwsxQ==]"
}
},
"fileDscr": {
"fileTxt": {
"fileName": "fearonLaitinData.tab",
"dimensns": {
"caseQnty": "6610",
"varQnty": "69"
},
"fileType": "text/tab-separated-values"
},
"notes": {
"text": "UNF:6:K5wLrMhjKoNX7znhVpU8lg==",
".attrs": {
"level": "file",
"type": "VDC:UNF",
"subject": "Universal Numeric Fingerprint"
}
},
".attrs": {
"ID": "f6"
}
}
},
即時使用d3.js主要是,但一些部分的jQuery和JavaScript與它。現在我在做:
d3.json(url,function(json){
var jsondata=json;
var temp = jsondata.dataset.fileDscr.fileTxt.fileName;
}
有沒有辦法直接訪問fileName?我問,因爲,我必須使這個通用適合其他json文件,其中嵌套可能會不同。
你所說的「直接」的意思是一個逗號分隔字符串指定鍵? –
你的意思是你想要一種搜索未知對象結構的方法來獲取與「'fileName」''等已知密鑰名稱相關聯的值嗎?如果密鑰在對象中出現多次(如在你的例子中的「.attrs」')? (請注意,回調中的'json'參數和jsondata'變量實際上都不包含JSON,它們都是通過解析JSON而創建的對象的引用。) – nnnnnn
[Access/process(nested)objects,數組或JSON](http://stackoverflow.com/questions/11922383/access-process-nested-objects-arrays-or-json) – Naga2Raja