3 回答

TA贡献1796条经验 获得超7个赞
事实证明,我的问题的真正答案是解析并没有排除某些属性。相反,我被 Chrome 中的控制台语句误导了。我的经历是,控制台日志仅评估在日志中展开时记录的对象的状态。我假设它代表写入日志条目时的状态。发生的情况是,稍后在代码中修改引用,并且当我在其他代码对对象进行更改后读取它时,控制台反映了更改后的对象引用。感谢所有阅读本文并提供任何建议的人,但我担心我自己对其工作原理的误解才是问题的真正原因。

TA贡献1875条经验 获得超3个赞
原因是 JSON.parse 对于特殊字符无法正常工作。解决方案如下:
function escapeUnicode(str) {
return str.replace(/[^\0-~]/g, function(ch) {
return "\\u" + ("0000" + ch.charCodeAt().toString(16)).slice(-4);
});
}

TA贡献1848条经验 获得超2个赞
我不确定为什么您只得到部分返回,但您的 JSON 字符串看起来无效。您需要在、和属性:后添加冒号。以下内容应该正确解析。"a""b""c"
{
"a": "A",
"b": "B",
"c": "C",
"id": "726abb0e-6cc6-4496-94a2-906439c06a30",
"1": 12345,
"2": "stringVal",
"3": "stringValue"
}
添加回答
举报