循环遍历每个字符的json解析循环

时间:2014-08-10 22:35:30

标签: javascript php json

我正在尝试遍历我从PHP获得的JSON字符串,我遇到的问题是,当我尝试遍历我的字符串时,它不会循环遍历每个对象而是循环遍历每个字符字符串。

我认为解决这个问题的方法是解析它但没有成功。

var json = JSON.stringify(player.get(url));
console.log(json);
json = $.parseJSON(json);

for (var key in json) {
    if (json.hasOwnProperty(key)) {
        console.log(key + " -> " + json[key]);
    }
}

我得到了一个非常好的JSON结果,因为我已经在在线转换器中测试了它 -

{
    "id": "1",
    "username": "Jessica",
    "password": "password",
    "age": "100",
    "size": "100"
}

然而,当我遍历它时,控制台会显示:

0 - > {index.html:29

1 - > “index.html:29

2 - > 0 index.html:29

3 - > “index.html:29

4 - > :index.html:29

5 - > “index.html:29

6 - > 1 index.html:29

7 - > “index.html:29

8 - > ,index.html:29

9 - > “index.html:29

10 - > c index.html:29

11 - > h index.html:29

12 - >一个index.html:29

13 - > r

为什么它没有正确循环json对象的任何想法?

1 个答案:

答案 0 :(得分:2)

更改

var json = JSON.stringify(player.get(url));

var json = player.get(url);

如果player.get(url);返回包含JSON的字符串,则无需将字符串转换为JSON。

您基本上将数据转换为JSON两次,但只解析一次。所以要么解析数据两次,要么做更合理的事情,不要将包含JSON的字符串转换为JSON。