在javascript中读取嵌套json

Reading nested json in javascript

本文关键字:嵌套 json 读取 javascript      更新时间:2023-09-26

我需要在Angular/ionic应用程序中处理嵌套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树中,我也可以看到值,所以这部分应该没问题。我不能得到最终的值,虽然。

这是相互依存的链接http://codepen.io/Utsavv/pen/zvWwrR?editors=001

下面这行有两个问题,它只在代码依赖中可见:

alert(x.row[1].CompleteURL);
  1. x没有row属性,但有Root属性,应该插入到层次结构中

  2. 最终的CompleteURL属性不存在;它需要是@CompleteURL

所以这一行应该是:

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