цикл через результат JSON с помощью jQuery - PullRequest
5 голосов
/ 11 января 2010

У меня есть следующий ответ JSON, но я не уверен, как правильно выполнить цикл через него и использовать.

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

следующий код предупреждает меня об идентификаторе отдела, который равен 1, затем его имя 'dept1', затем это: '[object Object],[object Object]'

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

все, что я хочу сделать, - это создать div, используя информацию об отделе, и создать внутри него еще один div, который включает информацию о категориях, принадлежащих этому отделу.

Ответы [ 2 ]

7 голосов
/ 11 января 2010

Ну, это показывает, что объект становится хорошо, вы пробовали

    $.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)
        }
   });
});
4 голосов
/ 11 января 2010
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?
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...