2015-10-25 66 views
0

我需要在Angular/ionic應用程序中處理嵌套的JSON。將XML數據集轉換爲json後,我得到了這個json。返回的Json如下在javascript中讀取嵌套的json

 { 
     "Root": { 
     "row": [ 
      { 
      "@CompleteURL": "x.jpg" 
      }, 
      { 
      "@CompleteURL": "x.jpg" 
      }, 
      { 
      "@CompleteURL": "x.jpg" 
      } 
     ] 
     } 
    } 

我需要爲每行獲取@CompleteURL的值。不過,我已經嘗試過所有東西后

$scope.DealImages.Root.row[i] 

但我沒有得到反對CompleteURL的值!

這是一個正在生成XML

SELECT CompleteURL FROM Images WHERE ReferenceID=d.DealID FOR XML RAW, ROOT('Root') 

的SQL這是的WebAPI是如何將XML轉換成JSON

for (int i = 0; i < Result.Count; i++) 
    { 
     XmlDocument doc = new XmlDocument(); 
     doc.LoadXml(Result[i].ImageURL); 
     Result[i].ImageURL = JsonConvert.SerializeXmlNode(doc); 
    } 

這是我正在看這個JavaScript

$scope.DealImages = JSON.parse(DealDetailAttributes.ImageURL); 

這個部分做得很好,因爲我可以得到json。在調試器的json樹中,我也可以看到值,所以這部分應該是確定的。儘管如此,我仍然無法獲得最終價值。

這是codepen鏈接http://codepen.io/Utsavv/pen/zvWwrR?editors=001

+1

您可以加入與您檢查'$ scope.DealImages.Root.row [I]'的代碼? – trincot

+0

編輯問題的細節。希望能幫助到你。 –

回答

0

沒有與下面的行,這是唯一可見的codepen兩個問題:

alert(x.row[1].CompleteURL); 
  1. x沒有row屬性,但一個Root屬性:它應該被插入到層次結構中。

  2. 最終CompleteURL屬性不存在;它需要是@CompleteURL。由於這不能用點符號來書寫,所以需要括號表示法。

所以你行應爲:

alert(x.Root.row[1]["@CompleteURL"]); 
+0

非常感謝! –

+0

你有什麼想法,我怎麼可以將它與ng重複的角度綁定? –

+0

我從來沒有使用角度,但從te文檔,我想這將是這樣的:'

{{el["@CompleteURL"]}}
',但我再次沒有使用角。 – trincot