[英]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.