簡體   English   中英

如何訪問JSON文檔中的子元素

[英]How can i access sub elements in JSON doc

這是我的問題,我試圖解析一個具有多個對象的對象,但它們不是數組中對象的形式。 我的數據看起來像這樣

{ "Jurisdiction": {
         "Mwd Water Stdby Chg": {
             "Tax Type": "Actual",
             "Tax Amount": "$10"
        },
         "Mosq/Fire Ant Assmt": {
             "Tax Type": "Actual",
             "Tax Amount": "$7"
        },
         "Vector Control Chg": {
             "Tax Type": "Actual",
             "Tax Amount": "$2"
        },
         "Total Of Special Assessments": {
             "Tax Type": "Actual",
             "Tax Amount": "$19"
        }
    }

我實際上正在嘗試將其轉換為obj的數組

{ "Jurisdiction":[{
         "Tax Name" : "Mwd Water Stdby Chg",
         "Tax Type": "Actual",
          "Tax Amount": "$10"
        }...]

我嘗試了多種方法來訪問沒有元素的元素下的Tax Type等。

var obj = JSON.parse(result);
var keys = Object.keys(obj.Jurisdiction);

for (var i = 0; i < keys.length; i++) {


  console.log(keys[i]["Tax Type"])
  console.log([keys[i]]["Tax Type"])
}

全部返回未定義

您可以使用Object.entires()map()

 const obj = { "Jurisdiction": { "Mwd Water Stdby Chg": { "Tax Type": "Actual", "Tax Amount": "$10" }, "Mosq/Fire Ant Assmt": { "Tax Type": "Actual", "Tax Amount": "$7" }, "Vector Control Chg": { "Tax Type": "Actual", "Tax Amount": "$2" }, "Total Of Special Assessments": { "Tax Type": "Actual", "Tax Amount": "$19" } } } let res = Object.entries(obj.Jurisdiction).map(x => ({'Tax Name':x[0],...x[1]})); obj.Jurisdiction = res; console.log(obj) 

mapObject.entries一起使用:

 const obj = { "Jurisdiction": { "Mwd Water Stdby Chg": { "Tax Type": "Actual", "Tax Amount": "$10" }, "Mosq/Fire Ant Assmt": { "Tax Type": "Actual", "Tax Amount": "$7" }, "Vector Control Chg": { "Tax Type": "Actual", "Tax Amount": "$2" }, "Total Of Special Assessments": { "Tax Type": "Actual", "Tax Amount": "$19" } } }; obj.Jurisdiction = Object.entries(obj.Jurisdiction).map(([k, v]) => ({ "Tax Name": k, ...v })); console.log(obj); 
 .as-console-wrapper { max-height: 100% !important; top: auto; } 

您應該改為使用for in循環:

 var obj = { "Jurisdiction": { "Mwd Water Stdby Chg": { "Tax Type": "Actual", "Tax Amount": "$10" }, "Mosq/Fire Ant Assmt": { "Tax Type": "Actual", "Tax Amount": "$7" }, "Vector Control Chg": { "Tax Type": "Actual", "Tax Amount": "$2" }, "Total Of Special Assessments": { "Tax Type": "Actual", "Tax Amount": "$19" } } } var jur = obj.Jurisdiction, j; for(var i in jur){ j = jur[i]; console.log(i); console.log(j['Tax Type']); console.log(j['Tax Amount']); console.log('-----------------------------'); } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM