亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JS解析帶有雙引號內容的JSON字符串時的報錯問題

JS解析帶有雙引號內容的JSON字符串時的報錯問題

GCT1015 2018-08-13 17:17:04
用nodejs寫了個工具來將指定目錄下的html文件名和文件內容作為鍵值對存儲為一個對象,然后將這個對象使用JSON.stringify()轉化為字符串后存儲為另外一個文件。現在的問題是, 當文件內容里面含有雙引號的時候, 會出現報錯的情況, 但是在原JSON文件里, 雙引號是轉義了的來著。 是我哪一部分沒有整對嗎?如下圖所示: 如果直接在瀏覽器里定義一個對象并添加雙引號包含的內容的時候, 轉化為json字符串后再打印字符串能夠看到轉義符號, 但是直接復制過來的json字符串里明明有轉義符號, 但是之后再打印的時候就沒有了, 這是為啥。。。var json = '{"test":"<div>測試測試測試測試測試</div>","test2":"<div class=\"container\">\r\n  <div class=\"ext\"></div>\r\n</div>\r\n<div class=\"left\">\r\n  left\r\n</div>\r\n<div class=\"right\">\r\n  right\r\n</div>\r\n","test3":"<div class=\"container\">\r\n  <div class=\"left\">\r\n\r\n  </div>\r\n  <div class=\"right\">\r\n\r\n  </div>\r\n</div>\r\n"}';JSON.parse(json); // errorPS: 直接require()那個文件的話也能夠正常讀取
查看完整描述

1 回答

?
海綿寶寶撒

TA貢獻1809條經驗 獲得超8個贊

很簡單一次轉義是不夠的, 自己理解一下

var json = '{"test":"<div>測試測試測試測試測試</div>","test2":"<div class=\\"container\\">\\r\\n  <div class=\\"ext\\"></div>\\r\\n</div>\\r\\n<div class=\\"left\\">\\r\\n  left\\r\\n</div>\\r\\n<div class=\\"right\\">\\r\\n  right\\r\\n</div>\\r\\n","test3":"<div class=\\"container\\">\\r\\n  <div class=\\"left\\">\\r\\n\\r\\n  </div>\\r\\n  <div class=\\"right\\">\\r\\n\\r\\n  </div>\\r\\n</div>\\r\\n"}';
JSON.parse(json);

update下:

字面量'\"'會是"還是\"


查看完整回答
反對 回復 2018-09-20
  • 1 回答
  • 0 關注
  • 2822 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號