[英]SyntaxError: Unexpected token \ in JSON at position
我正在尝试在NodeJS / Javascript中将String解析为JSON,这是我的字符串(我无法更改,来自外部数据库):
'{\\"value1\\":\\"XYZ\\",\\"value2\\":\\"ZYX\\"}'
我打电话:
JSON.parse(row.raw_data)
但是正在得到:
SyntaxError: Unexpected token \ in JSON at position
我实际上认为双重转义是转义字符串/ JSON的正确方法。
您的JSON无效。 您已经说过您无法更改它,这很不幸。
看起来好像已经被双字串化了,但是最外面的引号被省略了。 如果是这样,您可以通过在每一端添加"
,然后对其进行两次解析来修复它,如下所示:
var str = '{\\\\"value1\\\\":\\\\"XYZ\\\\",\\\\"value2\\\\":\\\\"ZYX\\\\"}'; str = '"' + str + '"'; var obj = JSON.parse(JSON.parse(str)); console.log(obj);
不过,理想情况下,您将需要遍历数据库并更正无效数据。
我实际上认为双重转义是转义字符串/ JSON的正确方法。
在JSON中,字符串用双引号( "
)引起来,而不是双转义符。您只能对字符串中的双引号进行转义(带有单个\\
)。
如果您一直在手动创建JSON字符串(使用代码), 请不要 。 :-)而是创建要保存的结构,然后将其字符串化。 手动构建JSON字符串容易出错,但是正确的JSON字符串标识符将是可靠的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.