【问题标题】:loop through JSON result with jQuery使用 jQuery 循环遍历 JSON 结果
【发布时间】:2011-01-03 17:34:03
【问题描述】:

我有以下 JSON 响应,但我不确定如何正确循环并使用它。

{
  "ID": 1,
  "Name": "dept1",
  "Categories": [
    {
      "ID": 1,
      "Name": "catg1"
    },
    {
      "ID": 2,
      "Name": "catg2"
    }
  ]
}

以下代码提醒我部门 ID 为 1,然后是它的名称“dept1”,然后是:'[object Object],[object Object]'

$.getJSON("mainPage2.aspx", function(result) {
   $.each(result, function(i, item) {
      alert(this);
   });
});

我要做的就是使用部门信息创建一个 div,并在其中创建另一个 div,其中包含属于该部门的类别信息。

【问题讨论】:

    标签: jquery json html loops


    【解决方案1】:

    嗯,它显示它得到对象没问题,你试过了吗

        $.getJSON("mainPage2.aspx", function(result) {
       $.each(result, function(i, item) {
          alert(item.Name);
       });
    });
    

    项目是从每个函数传递的对象,它应该拾取它并警告“dept1”或任何设置的文本

    如果你想遍历类别然后做另一个循环,即

        $.getJSON("mainPage2.aspx", function(result) {
       $.each(result, function(i, item) {
          alert(item.Name);
            $.each(item.Categories, function(i, cat) {
               alert(cat.Name)
            }
       });
    });
    

    【讨论】:

    • 您的解决方案有意义,但返回“未定义”。
    【解决方案2】:
    for(var key in result) {
        var value = result[key];
        if(typeof value == 'object') {
            if(value instanceof Array) {
                // an array. loop through children
                for(var i = 0; i < value.length; i++) {
                    var item = value[i];
                }
            } else {
                // complex object, not array. inner for loop on keys?
            }
        } else {
            // regular string/number etc. just print out value?
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多