2015-10-25 128 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