麻烦迭代基本的JSON数组值

时间:2015-02-11 12:35:28

标签: jquery json

我很尴尬地问,但我真的很难从某些JSON中获取值。我似乎无法正确访问值数组。

我可以从这个使用json响应的Json(小提琴:working jsfiddle)中获取值,格式如下:

{
    "items": [
        {
            "tags": [
                "jqgrid"
            ],
            "owner": {
                "reputation": 21,
                "user_id": 3038042,
                "user_type": "registered",
                "accept_rate": 70,
                "profile_image": "https://www.gravatar.com/avatar/819ef95bfca002204f5bd00654fb9957?s=128&d=identicon&r=PG&f=1",
                "display_name": "Amete",
                "link": "http://stackoverflow.com/users/3038042/amete"
            },
            "is_answered": false,
            "view_count": 5,
            "answer_count": 1,
            "score": 1,
            "last_activity_date": 1423648956,
            "creation_date": 1423605704,
            "last_edit_date": 1423648956,
            "question_id": 28442722,
            "link": "http://stackoverflow.com/questions/28442722/jqgrid-set-focus-on-selectrow-not-working",
            "title": "JqGrid Set Focus on SelectRow not working"
        }
    ]
}

但我不能为下面的Json(failed jsfiddle

做同样的事情
[{
    "Manufacturer": "Toyota",
    "Sold": 1200,
    "Month": "2012-11"
}, {
    "Manufacturer": "Ford",
    "Sold": 1100,
    "Month": "2012-11"
}, {
    "Manufacturer": "BMW",
    "Sold": 900,
    "Month": "2012-11"
}, {
    "Manufacturer": "Benz",
    "Sold": 600,
    "Month": "2012-11"
}]

我知道我没有正确访问数组,但我尝试过的所有内容都失败了。

此外,使用JQuery $ .getJSON方法看起来更简单,但我无法做到这一点......

非常感谢任何建议。

2 个答案:

答案 0 :(得分:0)

您的第二组数据是纯数组,顶层没有名为item的命名元素。

使用

var item = result[i];

不是

var item = result.item[i];

JSFiddle: http://jsfiddle.net/am77Lm8w/3/

我将您的Ajax回调转换为IIFE来测试数据。

答案 1 :(得分:0)

你的第二个json中没有items

您需要使用var item = result[i];