JSON Stringify和Parse函数提供不一致的结果

时间:2012-12-06 22:37:25

标签: javascript json stringify jsonserializer

  

可能重复:
  JSON.stringify() bizarreness

好的,所以我使用了各种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]

enter image description here

但在某一页上我特别得到以下内容:

original object = [Object, Object]
stringified =  "[{\"color\": \"red\"}, {\"name\": \"ryan\"}]"
parsed =  [{"color": "red"}, {"name": "ryan"}]

enter image description here

解析的是一个值为[{“color”:“red”},{“name”:“ryan”}]的字符串,而不是具有这些值/属性的对象。

我只是不确定如何解决这个问题。显然,序列化中出现了问题。这是在一个我无法控制其他脚本运行的环境(它是一个插件)的环境中,所以解决方案实际上不能涉及禁用可能导致干扰的其他脚本,因为我可能不知道它们和这可能会导致其他问题。

0 个答案:

没有答案