如何以角度解析嵌套的json

Posted

技术标签:

【中文标题】如何以角度解析嵌套的json【英文标题】:How to parse a nested json in angular 【发布时间】:2019-11-19 08:03:46 【问题描述】:

我有一个复杂的嵌套 json,我想用 html 解析和显示数据。

我的 json 看起来像:


  "Test Data": [
    
      "First Test": 
        "Design Name": "testname",
        "Output": "1",
        "Data Info": [
          
            "Test Name": "ft",
            "Time": 10,
          
         ]

      
    ,

    
      "First Test": 
        "Design Name": "testname2",
        "Output": "1",
        "Data Info": [
          
            "Test Name": "ft2",
            "Time": 10,
          
         ]

      
    ,
  ]

这是我的 json 的一个子集。如何解析这些数据并获取设计名称数组

【问题讨论】:

到目前为止你尝试了什么? 一个建议是使用 Datatables,尽管有大量的库可以实现您想要的。 您是否尝试在 HTML 中显示数据,您必须在此复杂 JSON 的数组上循环,我建议您使用 VSCode 的“Paste JSON As Code”扩展如果您使用 VS Code . Safely turning a JSON string into an object的可能重复 【参考方案1】:

这是有效的 JSON,因此您可以使用 JSON.parse() 方法。然后您可以使用map 方法进行迭代并获得如下设计名称:

let myData = JSON.parse(response); // response is the JSON that you provided

let designNames = myData['Test Data'].map(data => data['"First Test"']['Design Name']);

希望对你有帮助

【讨论】:

【参考方案2】:

如果您的 JSON 密钥没有空格:


    "rootElement": 
        "firstElem": "Some data",
        "secondElem": 
            "thirdLevelElem": "Yet some other data"
        
    

你可以这样做:

const myJsonData = JSON.parse(response);

let firstElement = myJsonData?.rootElement?.firstElem;
let nestdElement = myJsonData?.rootElement?.secondElem?.thirdLevelElem;

【讨论】:

【参考方案3】:

演示

let myData = 
  "Test Data": [
    
      "First Test": 
        "Design Name": "testname",
        "Output": "1",
        "Data Info": [
          
            "Test Name": "ft",
            "Time": 10
          
        ]
      
    ,
    
      "First Test": 
        "Design Name": "testname2",
        "Output": "1",
        "Data Info": [
          
            "Test Name": "ft2",
            "Time": 10
          
        ]
      
    
  ]
;

var result =  myData['Test Data'].map(data => data["First Test"]['Design Name']);
console.log(result);

【讨论】:

以上是关于如何以角度解析嵌套的json的主要内容,如果未能解决你的问题,请参考以下文章

以特定方式在Excel中解析JSON嵌套数组

如何在 Ios 中解析数组数据中的嵌套 Json 对象

在 Python 中通过嵌套的 Json/dict 解析

解析 JSON 字符串中的嵌套对象

以角度解析来自 API 的 JSON 字符串

如何使用 Retrofit .... 解析嵌套的 json?