[英]convert nested json array to javascript array
我有一個這樣的json數組(為簡潔起見,在這里被截斷):
[
{
"name": null,
"code": null,
"results": [
{
"date": "2012-04-28T06:00:00.000Z",
"name": null,
"value": 135,
"unit": "MG/DL",
"code": null
},
{
"date": "2012-04-28T06:00:00.000Z",
"name": null,
"value": 59,
"unit": "MG/DL",
"code": null
}
]
},
etc, etc,
]
我想將其轉換為javascript數組,以便提取日期和值以進行繪制。 我看過有關eval和JSON.parse的內容,但無法弄清楚如何正確訪問值。
json文本稱為實驗室,所以我這樣做:
var obj = JSON.parse(labs);
alert("obj.length="+obj.length); //correctly shows 22 objects
for (var prop in obj) {
if (obj.hasOwnProperty(prop)) {
alert("prop: " +prop + " value: " +obj[prop]);
}
}
輸出為prop:0值:[object Object] prop:1值:[object Object]等。
如何獲取日期字段和值字段?
您可以使用以下方法檢索第一個"date"
:
obj[0].results[0].date
基於此,您可以為每個0
嵌套循環。 第一個基於obj
:
for (var i = 0; i < obj.length; i++) {
// ...
}
另一個基於obj
每個嵌套的"results"
:
var results = obj[i].results;
for (var j = 0; j < results.length; j++) {
// ...
}
您可以在其中警告要關注的字段:
alert("Date: " + results[j].date + "\nValue: " + results[j].value);
用常規的for循環包裝循環。 現在,您有一個對象數組。
for (var i=0; i<obj.length; i++) {
for (var prop in obj[i]) {
if (obj[i].hasOwnProperty(prop)) {
alert("prop: " +prop + " value: " +obj[i][prop]);
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.