2016-01-11 305 views
2

我已經找了幾天的答案,最接近我需要的是一個問題已經回答「Access/process(nested)objects,arrays or JSON「,但我遇到的問題是,這個答案只會返回一個嵌套的對象,即使可能有兩個或三個相同的密鑰。訪問/處理每個(嵌套的)對象,數組或JSON

我目前正在一個SharePoint項目中,我需要檢索一個特定位置的「SOP」數量,我做了一個jquery ajax調用列表中的數據被從中拉出和數據返回類似對於這個例子,我需要能夠返回每個數據(鍵):值,但我試過的所有東西只返回最後一個鍵,請幫助。

var root = { 
leftChild: { 
    leftChild: { 
     leftChild: null, 
     rightChild: null, 
     data: 42 
    }, 
     leftChild: { 
    leftChild: { 
     leftChild: null, 
     rightChild: null, 
     data: 142 
    },   leftChild: { 
    leftChild: { 
     leftChild: null, 
     rightChild: null, 
     data: 242 
    }; 

alert(root.rightChild.leftChild['data']);` 
+0

你肯定'root'樣子呢?這不是一個有效的對象! –

+0

@whitelettersinblankpapers是正確的。我假設一些'leftChild'屬性應該是'rightChild'? –

回答

0

您提供的JSON無效,因爲對象具有重複的鍵。因此,你的方法將無法工作。我會建議更正您的數據源,或使用數組(不帶鍵)而不是對象。

另外,如果你想用的,而不是leftChild rightChild,也許這JSON會更有意義:

var root = { 
    leftChild: { 
     leftChild: { 
      leftChild: null, 
      rightChild: null, 
      data: 42 
     }, 
     rightChild: { 
      leftChild: { 
       leftChild: null, 
       rightChild: null, 
       data: 142 
      }, 
      rightChild: { 
       leftChild: { 
        leftChild: null, 
        rightChild: null, 
        data: 242 
       } 
      } 
     } 
    } 
};