[英]Parse nested JSON Response Javascript
我知道這個主題有幾個線程,但我已經瀏覽了 30 多個線程但沒有成功。 我設法解析了一個 JSON 響應,所以它看起來像這樣:
{
"1": {
"id": "1",
"name": "Fruit",
.
.
.
"entities": {
"1": {
"id": "1",
"name": "blue bird",
.
.
.
"status": "1"
},
"2": {
使用此代碼
let json = JSON.parse(body);
console.log(json);
現在我想訪問“id”、“name”等以及“entities”標簽的“id”和“name”。 到目前為止,我已經嘗試過:
console.log(json[0]);
console.log(json.id);
兩者都返回未定義
我也試過
console.log(json[0].id);
這給出了一個錯誤
有任何想法嗎?
在這種情況下,您的第一個鍵是1
,因此您可以使用json[1]
訪問它。
const json = { "1": { "id": "1", "name": "Fruit" }, "2": { "id": "2", "name": "Veggies" } }; console.log(json[1]);
在這個 json 中,您可以通過
json.1.id
但我認為首先你的 json 寫得不正確,你應該有類似的東西
{
"elements": [
{ "id" : 1, "name" : "fruit" },
{ "id" : 2, "name" : "vegetable" }
]
}
像這樣,json.elements 是一個集合/數組,您可以循環、計數或任何其他您將無法執行的操作,因為您的 json 看起來像是一個不同屬性的超重列表(他不知道 Z466DEEC76ECDF35FCA6DZ8574F .1 和 json.2 是同一類型的對象。
const jsonData = JSON.parse(body);
for (const i in jsonData) {
for (const j in jsonData[i]) {
console.log('${i}: ${jsonData[i][j]}');
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.