这是一个由JSON lint验证的非常简单的JSON字符串{"a": "\"A"}
。
但是当我做的时候
var b = '{"a": "\"A"}';
JSON.parse(b);
我在转发"
:Uncaught SyntaxError: Unexpected token A in JSON at position 8
时遇到错误。如何处理案件?如何使这个例子有效?
答案 0 :(得分:3)
\
是JSON中的特殊字符,但它也是JavaScript字符串文字中的特殊字符。
当JavaScript处理器解析字符串以填充变量b
时,\
将被消耗。
这为您提供了JSON:
{"a": ""A"}
如果你只是检查字符串,你可以看到这个:
var b = '{"a": "\"A"}';
alert(b);

......这是无效的。
您需要使用其他\
转义\
,以便在数据中插入\
字符。
var b = '{"a": "\\"A"}';
var b = '{"a": "\\"A"}';
alert(b);