[英]Find the length of an JSON object
我有一個類似以下的JSON。 我如何在控制台中找到空氣長度,
console.log (block.number.path[i].air.length);
{ "block": [
{ "number": "36",
"path": [
{ "air": "[{\"name\":\"0\"},{\"name\":\"1\"},{\"name\":\"2\"}]" },
{ "water": "[{\"name\":\"3\"},{\"name\":\"4\"},{\"name\":\"5\"}]" },
{ "sand": "[{\"name\":\"6\"},{\"username\":\"7\"},{\"name\":\"8\"}]" }
]
}
]
}
air
本身包含一個JSON編碼的數組,您必須首先對其進行解碼:
// your obj in here
var obj = { "..." : "..." };
// grab the respective length of the "air" attribute
var air = JSON.parse( obj.block[0].path[0].air );
console.log( air.length );
您可以這樣解決:
var length = JSON.parse(block.number.path[i].air).length;
console.log(length);
看起來有些JSON格式不正確。 “ air”,“ water”和“ sand”都是JSON數組...但是解析為字符串。 如果您是生成JSON的人,請仔細研究一下,因為它似乎不正確。 正如其他答案所指出的那樣,只要您可以確保目標瀏覽器具有該接口(大多數現代瀏覽器JSON.parse()
,它就可以使用JSON.parse()
在Javascript中解決。
對於任何JSON數組(使用[]
括號聲明的任何內容),您都可以檢查其.length
屬性。
假設json
是一個包含JSON的變量,則可以執行以下操作:
json["block"][0]["path"][0]["air"].length
Block是一個數組,因此您必須首先訪問該元素:
a.block[0].path[0].air.length
其中a
是用於保存數據的變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.