2014-02-11 162 views
0

我有這樣的JSON對象:閱讀JSON對象的jQuery

"Master": { 
       "nodeType": "Test", 
       "label": "Master", 
       "nodes": { 
        "event": { 
         "nodeType": "Test", 
         "label": "Test", 
         "itemTemplate": { 
          "label": "Test", 
          "properties": { 
           "icon": { 
            "label": "Test", 
            "description": "Test", 
            "valueType": "STRING", 
            "value": "" 
           } 
          } 
         }, 
         "items": [ 
          { 
           "icon": "test 2", 
          }, 
          { 
           "icon": "test 1", 
          } 
         ] 
        } 
       } 

我要訪問的items部分。我試過以下內容:

var obj = jQuery.parseJSON(json_object); //json object 
alert(obj.nodes.items[0].icon); //Uncaught TypeError: Cannot read property 'items' of undefined 
+0

確保你有有效的JSON,你可以試試這個:http://www.freeformatter.com/json-formatter.html –

回答

1
var items; 
items = obj.Master.nodes.event.items; 

alert(items[0].icon); 

items結果在一個數組

注意您的JSON是不正確的,缺少龍頭{和兩個尾隨}

json_object = '{ "Master": { 

// 
// 
// 

} }'; 

如果不正確jQuery.parseJSON將失敗。您的JSON的

1

您的JSON定義了一個名爲「Master」的鍵。嘗試:

alert(obj.Master.nodes.items[0].icon); 
+0

試過,我得到:'不能讀取未定義的屬性0# –

+0

@ free4ride得到它的權利 - 項目是在節點的事件鍵下。 – mmigdol

1
console.log(obj.Master.nodes.event.items[0].icon) 

限位結構在這裏:http://jsonviewer.stack.hu/

enter image description here

,這將有助於你理解節點繼承