我的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"]

09-07 12:38