2017-09-16 164 views
-1

我想弄清楚如何通過JavaScript訪問兩個字典裏面的值。如何訪問字典中的字典?

服務器的JSON輸出是; {「meta」:{},「linked」:{custom_fields「:[{」id「:」4「,」name「:」Department「}],」custom_field_values「:[{」id「 「0001」,「value」:「Marketing」,「links」:{「custom_field」:{「id」:「4」,「type」:「custom_fields」}}}]

我需要列出Marketing如系我似乎無法訪問「鏈接」摳ID

如果我創建var linked = linked.custom_field_values;我得到迴應

{「ID」:「0001」,「值」:」營銷「,」鏈接「:{」custom_field「:{」id「:」4「,」type「:」custom_fields「}}}

只要我試着var cfl = linked.links.custom_field.id就說鏈接沒有定義。所以我不確定我在做什麼錯誤試圖爲此創建一個變量?

鏈接是一個字典與Custom_field右下作爲字典與我需要的值。

如果一切正常,這不會打印出正確的部門嗎?

if(cfl.id == 4){ 
console.log('Department is ' + linked.value); 
} 
+1

你已經發布的第一個塊是無效的JSON,所以我們不能真正幫助你吧。請用實際的服務器輸出更新問題(您可以在http://jsonlint.com中仔細檢查)。 –

+0

'custom_field_values'是一個數組嗎?如果是這樣,你將不得不寫'var linked = linked.custom_field_values [0];'來獲得該對象。 –

+0

'link'沒有'links'屬性。 – trincot

回答

0

它看起來像custom_field_values一個數組。你必須看看陣列中的第一項,就像這樣var linked = linked.custom_field_values[0];

+0

感謝您的回覆。 我們可以把它更深一層嗎?我需要訪問「鏈接」custom_field:id。 是的,custom_field_values是一個數組。 – computerguyinhere

0

有了一個適當的格式化對象,你會發現,你有一個數組裏面。所以你需要爲數組獲取一個索引。

var object = { 
 
     meta: {}, 
 
     linked: { 
 
      custom_fields: [ 
 
       { 
 
        id: "4", 
 
        name: "Department" 
 
       } 
 
      ], 
 
      custom_field_values: [ 
 
       { 
 
        id: "0001", 
 
        value: "Marketing", 
 
        links: { 
 
         custom_field: { 
 
          id: "4", 
 
          type: "custom_fields" 
 
         } 
 
        } 
 
       } 
 
      ] 
 
     } 
 
    }; 
 

 
console.log(object.linked.custom_fields[0].id); 
 
console.log(object.linked.custom_field_values[0].id);