我的Javascript中有一个硬编码的JSON字符串。
valiJsonString = '{"ssss","ddddddddd\"ddd"}';
DOM表示->
{"ssss","ddddddddd"ddd"}
有人可以告诉我为什么javascript将我的
\"
替换为"
吗?// try to parse
valiJsonString secureEvalJSON (valiJsonString) //<-- error: jsonString is not valid
working example
最佳答案
“ DOM说”没有多大意义,因为DOM什么也没说。您是指Firebug(或其他开发控制台)中的对象浏览器吗?
现在,在字符串中,\"
是引号字符。您必须补偿这种转义,因为您不希望这样,而是逐字斜杠。
因此,也许您想要\\
后跟"
,这是斜杠字符,后跟引号字符。
另外,给定的JSON看起来应该代表一个数组而不是一个对象,因为您没有键:
var str = '["ssss","ddddddddd\\"ddd"]';
现在,浏览器中此JSON格式字符串的实际值是:
["ssss","ddddddddd\"ddd"]