0

我不知道我在哪里错过了一些东西,但我有这个

var myvar = [{"id":1,"name":"name1"},{"id":2,"name":"name2"}];

我试过这个

$(jQuery.parseJSON(JSON.stringify(myvar))).each(function() {  
        console.log(this.name);
});

但是我的控制台中有一个错误:Syntax error, unrecognized expression [{"id":1,"name":"name1"},{"id":2,"name":"name2"]

我错过了一些东西,但我不知道是什么?

编辑:事实上,当我将 myvar 复制粘贴到我的控制台并运行解析时,它就可以工作了吗?但是,当我刷新页面并这样检索 myvar 时:console.log(myvar),我得到 [{"id":1,"name":"name1"},{"id":2,"name ":"name2"}],通常不会被 chrome 的控制台告知它是一个对象

4

4 回答 4

3

你没有关闭对象。

var myvar = [{"id":1,"name":"name1"},{"id":2,"name":"name2"}];
于 2013-01-25T13:56:05.860 回答
2

你最后缺少一个 }

var myvar = [{"id":1,"name":"name1"},{"id":2,"name":"name2"}];
于 2013-01-25T13:56:27.593 回答
0

这很奇怪; 我在尝试您的代码时也遇到了错误。不过,这似乎很好。

你为什么不试试这个:

jQuery(myvar).each(function () {
    console.log(this.name);
});

这输出

name1
name2

在我的控制台中。这似乎是您的解决方案,因为您已经将对象转换为字符串并转换回对象(数组)。

于 2013-01-25T14:13:24.533 回答
0

这是正确的语法:

$(jQuery.parseJSON(myvar)).each(function() {  
    console.log(this.name);
});

(事实上​​,当我将 myvar 复制粘贴到我的控制台并运行解析时,它就可以工作了。但是,当我刷新我的页面并这样检索 myvar 时:console.log(myvar),我得到 [{"id" :1,"name":"name1"},{"id":2,"name":"name2"}],chrome 的控制台通常不会告诉它它是一个对象)

于 2013-01-25T14:12:03.477 回答