我需要在Angular / ionic app中处理嵌套的JSON。在将XML数据集转换为json之后,我得到了这个json。返回的Json如下:
{
"Root": {
"row": [
{
"@CompleteURL": "x.jpg"
},
{
"@CompleteURL": "x.jpg"
},
{
"@CompleteURL": "x.jpg"
}
]
}
}
我需要为每一行获取@CompleteURL的值。但是,我在
之后尝试了一切 $scope.DealImages.Root.row[i]
但我没有获得针对CompleteURL的价值!
这是生成XML的SQL
SELECT CompleteURL FROM Images WHERE ReferenceID=d.DealID FOR XML RAW, ROOT('Root')
这就是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树中,我也可以看到值,所以这部分应该没问题。虽然我无法达到最终价值。
答案 0 :(得分:0)
以下行有两个问题,只在codepen中可见:
alert(x.row[1].CompleteURL);
x
没有row
属性,只有Root
属性:它应该插入层次结构中。
最终的CompleteURL
属性不存在;它必须是@CompleteURL
。由于不能用点表示法编写,因此需要括号表示法。
所以你的行应该是:
alert(x.Root.row[1]["@CompleteURL"]);