Json String在变量中注释掉引号

时间:2011-08-05 17:05:38

标签: javascript jquery string json

我的Javascript中有一个JSON字符串硬编码。

valiJsonString = '{"ssss","ddddddddd\"ddd"}';

DOM说 - > {"ssss","ddddddddd"ddd"}

有人可以告诉我为什么javascript会将\"替换为"吗?

// try to parse
valiJsonString secureEvalJSON (valiJsonString)   //<-- error: jsonString is not valid

working example

4 个答案:

答案 0 :(得分:2)

\是一个转义字符。试试\\

答案 1 :(得分:2)

如果你想让你的字符串通过转义,那么你需要转义你的转义字符:

valiJsonString = '{"ssss","ddddddddd\\"ddd"}';

答案 2 :(得分:2)

“DOM说”没有多大意义,因为DOM没有说什么。你的意思是Firebug(或其他一些开发控制台)中的对象浏览器吗?

现在,在字符串中,\"是引号字符。你必须补偿这种逃避,因为你不想要它,而是逐字逐句。

所以也许你想要\\后跟",这是斜线字符后跟引号字符。

此外,给定的JSON看起来应该代表数组而不是对象,因为你没有密钥:

var str = '["ssss","ddddddddd\\"ddd"]';

现在,浏览器中此JSON格式字符串的实际值为:

["ssss","ddddddddd\"ddd"]

答案 3 :(得分:1)

我添加了第二个\(\是转义字符)并修复了缺少=和表格类型{} vs []

http://jsfiddle.net/4wVaR/9/