[英]JSON.parse with all double quotes
我面臨以下代碼片段的一個問題
我的情況是:
var lit = "{"foo":"test \\"1\\"","bar":"test 2"}"; console.log(lit); var thaw2 = JSON.parse(lit); console.log(thaw2);
由於點亮 object 中的雙引號,我收到錯誤“意外標識符”。 我不能在這里將其更改為單引號,是否有任何解決方案可以將該字符串轉換為帶有所有雙引號的 json object?
任何幫助,將不勝感激。
轉義內部雙引號。
var lit = "{\"foo\":\"test \\\"1\\\"\",\"bar\":\"test 2\"}"; console.log(lit); var thaw2 = JSON.parse(lit); console.log(thaw2);
最外邊界使用單引號而不是雙引號。
var lit = '{"foo":"test \\"1\\"","bar":"test 2"}';
console.log(lit);
var thaw2 = JSON.parse(lit);
console.log(thaw2);
問題的原因:當雙引號用於定義字符串並用作字符串的一部分時,它被視為右引號。
要解決此問題: 選項 1:使用單引號來開始和結束字符串。
var lit = '{"foo":"test \\"1\\"","bar":"test 2"}';
如果您想在字符串中使用單引號,這將不起作用。 在這種情況下,使用選項 2。
選項 2:Escaping。 使用 \' 或 \" 轉義字符
Eg: var lit = '{\'foo\':"test \\"1\\"","bar":"test 2"}'; (Escaping single quote)
var lit = "{\"foo\":\"test \\\"1\\\"\",\"bar\":\"test 2\"}"; (escaping double quote)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.