好的,所以我使用了各种JSON方法(字符串化和解析),但最近在一个页面中运行它们的行为不正确。我使用的是Chrome版本23.0.1271.91 m
例如,如果我将以下内容输入控制台:
var x = [{"color":"red"},{"name":"ryan"}];
console.log('original object = ', x);
var y = JSON.stringify(x);
console.log('stringified = ', y);
var w = JSON.parse(y);
console.log('parsed = ', w);
我通常会回复这个:
original object = [Object, Object]
stringified = [{"color":"red"},{"name":"ryan"}]
parsed = [Object, Object]
但在某一页上我特别得到以下内容:
original object = [Object, Object]
stringified = "[{\"color\": \"red\"}, {\"name\": \"ryan\"}]"
parsed = [{"color": "red"}, {"name": "ryan"}]
解析的是一个值为[{“color”:“red”},{“name”:“ryan”}]的字符串,而不是具有这些值/属性的对象。
我只是不确定如何解决这个问题。显然,序列化中出现了问题。这是在一个我无法控制其他脚本运行的环境(它是一个插件)的环境中,所以解决方案实际上不能涉及禁用可能导致干扰的其他脚本,因为我可能不知道它们和这可能会导致其他问题。