首页 > 解决方案 > 从 JSON 数据 [object] 中获取值

问题描述

调试截图

$.ajax({
    url: postUrl,
    type: 'GET',
    dataType: 'json',
    data: { "id": num },
    contentType: "application/json; charset=utf-8",
    success: function (data) {


        $.each(data, function (id, allFollowers) {
            result += 'Title : ' + **data** + '<br/>';
        });
我试过:data.allFollowers[0].screeName,data[0].allFollowers[0].screeName...

我可以看到这些值在调试模式下存在,但是它返回一个空错误..?

标签: javascriptc#json

解决方案


根据您的屏幕截图,我假设数据看起来像这样:

//data is an object, with an array of allFollowers objects
var data = {
  "allFollowers": [{
      "AlternateText": "no photo",
      "profileImage": "http://foo.com/foo",
      "screenName": "foo",
      "userID": 15785100
    },
    {
      "AlternateText": "no photo",
      "profileImage": "http://bar.com/bar",
      "screenName": "bar",
      "userID": 12345678
    }

  ]
};

data仅在/而不是在其子数组 ( allFollowers) 上进行迭代。所以你必须更深一层:

$.each(data, function(key, obj) {   
  $.each(obj, function(i, value){
    console.log("screen name %i: %o, User ID: %o", i, value.screenName, value.userID);
  })
})

安慰:

screen name 0: "foo", User ID: 15785100
screen name 1: "bar", User ID: 12345678

嗯...


推荐阅读