Mic*_*sen 5 javascript json node.js
我正在尝试在NodeJS/Javascript中解析String到JSON,这是我的字符串(我无法更改,来自外部数据库):
'{\\"value1\\":\\"XYZ\\",\\"value2\\":\\"ZYX\\"}'
Run Code Online (Sandbox Code Playgroud)
我打电话给:
JSON.parse(row.raw_data)
Run Code Online (Sandbox Code Playgroud)
但是得到了:
SyntaxError: Unexpected token \ in JSON at position
Run Code Online (Sandbox Code Playgroud)
我实际上认为双重转义是在字符串/ JSON中转义的正确方法.
您的JSON无效.你说你不能改变它,这是不幸的.
它看起来像是双字符串化的,但最后的引号却被忽略了.如果是这样,您可以通过"在每一端添加然后对其进行双重解析来修复它,如下所示:
var str = '{\\"value1\\":\\"XYZ\\",\\"value2\\":\\"ZYX\\"}';
str = '"' + str + '"';
var obj = JSON.parse(JSON.parse(str));
console.log(obj);Run Code Online (Sandbox Code Playgroud)
但理想情况下,您需要浏览数据库并更正无效数据.
我实际上认为双重转义是在字符串/ JSON中转义的正确方法.
在JSON中,字符串包含在双引号(")中,而不是双重转义.您只能在字符串中使用双引号(使用单引号\).
如果您一直在手动创建JSON字符串(在代码中),请不要.:-)而是,创建要保存的结构,然后对其进行字符串化.手动构建JSON字符串容易出错,但正确的JSON字符串将是可靠的.
| 归档时间: |
|
| 查看次数: |
3400 次 |
| 最近记录: |