在json响应中访问Object中的数据

时间:2016-07-21 06:20:23

标签: javascript jquery json

我的json返回below shown个对象数组,我需要访问其中的数据。在console中,这就是响应的样子 enter image description here

我要做的是访问对象以获取subcategoryidsubcategoryname,然后将其显示在下拉列表中。这是我的代码

$.get('ajax-subcat?cat_id=' + cat_id, function(data)
          {
              console.log(data);

              $('#subcategory').empty();

              $.each(data, function(index, subcatObj)
              {
                alert(subcatObj);
                $('#subcategory').append('<option value="' + subcatObj.Object.subcategoryid +'">' + subcatObj.subcategoryname +'</option>');
              });

          });

我不知道的是如何访问对象内的数据。有任何想法吗?

3 个答案:

答案 0 :(得分:2)

试试这个:

<强> JAVASCRIPT

for (var i = 0; i < data.length; i++) {
    console.log(data[i].subcategoryid);
}

答案 1 :(得分:1)

假设你在标记中有一个select元素:

<select id="mySelectElement"></select>

尝试此操作来迭代对象并填充组合框:

$.get('ajax-subcat?cat_id=' + cat_id, function(data) {
   // Get a reference to the target element
   var selectTarget = $('#mySelectElement');
   // Iterate over the response data
   for (var i in data) {
      // For every object in array, append a new option element
      selectTarget.append($('<option value="' + data[i].subcategoryid + '">' + data[i].subcategoryname + '</option>'));
   }
});

答案 2 :(得分:1)

为此,您可以使用underscore.js库以数组的形式获取与特定键对应的整个数据。

_.pluck(data, 'subCategoryid') // array of all values corresponding to 'subcategoryid'