【问题标题】:Traverse nested JSON and assign to variable遍历嵌套的 JSON 并赋值给变量
【发布时间】:2020-09-02 05:52:58
【问题描述】:

与我的question from yesterday 相关,我研究了 JSON 并决定接受它。后端创建以下结构的 json 响应(来自控制台日志):


{…}
​
    3: {…}
​​
        0: Object { probe_id: "4", date: "19.01.2021", start_time: "13:30", … }
​​
        1: Object { probe_id: "5", date: "20.01.2021", start_time: "13:30", … }
​​
        week_end: "24.01.2021"
​​
        week_start: "18.01."

    4: {…}
​​
        0: Object { probe_id: "6", date: "25.01.2021", start_time: "13:30", … }
​​
        week_end: "31.01.2021"
​​
        week_start: "25.01."

我基本上需要在响应中显示数据。一个标头对象(= 对象 3 / 4)显示它包含的每个对象。每个数据元素都会得到一个带有 jquery 的 html 包装器。所以我需要知道对象要在哪个级别设置适当的包装器。在过去的三个小时里,我真的被逼疯了。那么如何遍历 JSON 和每个嵌套元素呢?

【问题讨论】:

    标签: javascript jquery json ajax parsing


    【解决方案1】:

    我不确定您要实现什么目标,但您似乎想遍历对象项并相应地应用更改。您可以使用recursion 来执行此操作。

    var data = {0:{0:{ probe_id: "4", date: "19.01.2021", start_time: "13:30"},1:{ probe_id: "3", date: "19.01.2021", start_time: "13:30"}},1:{0:{ probe_id: "6", date: "25.01.2021", start_time: "13:30" }, week_end: "31.01.2021", week_start: "25.01." }};
    
    traverse = (obj) => {
     for(const property in obj){
      if(typeof obj[property] == 'object'){
       traverse(obj[property]);
       } else { 
       console.log(`Value is ${obj[property]}`);
       //perform some actions here accordingly
       }
     }
    }
    
    traverse(data);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-24
      • 2020-01-11
      • 1970-01-01
      • 2022-11-28
      • 2016-04-21
      • 2018-05-13
      相关资源
      最近更新 更多