我不知道我在哪里错过了什么,但我有这个
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的控制台通常不会告诉它是一个对象
你没有关闭对象。
var myvar = [{"id":1,"name":"name1"},{"id":2,"name":"name2"}];
末尾缺少一个 }
var myvar = [{"id":1,"name":"name1"},{"id":2,"name":"name2"}];
这很奇怪;我在尝试您的代码时也遇到错误。不过看起来完全没问题。
你为什么不试试这个:
jQuery(myvar).each(function () {
console.log(this.name);
});
此输出
name1
name2
在我的控制台中。这似乎是您的解决方案,因为您已经将对象转换为字符串并返回对象(数组)。
正确的语法:
$(jQuery.parseJSON(myvar)).each(function() {
console.log(this.name);
});
(实际上,当我在控制台中复制粘贴myvar并运行解析时,它可以工作。但是,当我刷新页面并检索myvar时:console.log(myvar),我得到[{"id":1,"name":"name1"},{"id":2,"name":"name2"}],Chrome的控制台通常不会告诉它是一个对象)