使用parseJSON和amp;迭代长度

时间:2013-03-23 14:15:23

标签: jquery json

早上好,

我正在尝试迭代字符串并使用$.parseJSON解析数据,然后将其发送到select,但由于某种原因,在启动时for没有任何反应,没有错误或任何内容就这样..简单地说,脚本停止工作(作为退出,在PHP中)

json:

{
"response": {
    "chars": {
        "0": {
            "guid": "728166",
            "name": "Pepito",
            "race": "1",
            "class": "6",
            "gender": "0",
            "level": "80",
            "money": "1412915382",
            "apoints": "0",
            "hpoints": "200000",
            "tkills": "1731",
            "title": "0"
        },
        "1": {
            "guid": "778879",
            "name": "Chocolate",
            "race": "7",
            "class": "8",
            "gender": "1",
            "level": "88",
            "money": "0",
            "apoints": "0",
            "hpoints": "0",
            "tkills": "0",
            "title": "0"
        }
    }
}

}

代码:

var json = *this is the top json*;    
var parsed = $.parseJSON(json);
for (var i=0; i<parsed.length; i++){
    console.log(parsed.response.chars[i].name);
}

哪一部分错了?据我所知,我认为没有错。

谢谢!

2 个答案:

答案 0 :(得分:0)

尝试:

var json = *this is the top json*;    
var parsed = $.parseJSON(json);
for (var i = 0; i < parsed.response.chars.length; i++){
    console.log(parsed.response.chars[i].name);
}

答案 1 :(得分:0)

你正在迭代一个对象而不是一个数组!

var json = *this is the top json*;    
var parsed = $.parseJSON(json);
for (var key in parsed.response.chars){
    console.log(key);
    console.log(parsed.response.chars[key].name);
}