簡體   English   中英

JSON Lint說它有效但JSON.parse會拋出錯誤

[英]JSON Lint says it's valid but JSON.parse throws error

我有簡單的JSON,我需要解析對象。 奇怪的是,即使我將我的JSON字符串復制並粘貼到JSONLint( http://jsonlint.com/ ),它也會起作用,但它會顯示它是有效的。

var string = '{"token":"9eebcdc435686459c0e0faac854997f3","email":"201403050007950","id":"13","updated_at":"2014-03-05 10:34:51","messageguides":"[{\"name\":\"Un-named Messaging Guide 1\",\"pages\":[\"sustainabilitydirectors\",\"marketingnbusinessdevelopmentdirectors\"],\"date\":1394015692958}]"}';

var obj = JSON.parse(string); // Unexpected token n

console.log(obj);

解析原始JSON時,數據中的\\字符被視為JSON轉義字符。

將JSON嵌入JavaScript字符串時,它們被視為JavaScript轉義字符而不是JSON轉義字符。

當您將JSON表示為JavaScript字符串時,需要將它們作為\\\\轉義。


也就是說,通常只需將JSON作為對象(或數組)文字放入JavaScript中,而不是將其嵌入到字符串中,然后將其作為單獨的步驟進行解析。

var obj = {"token":"9eebcdc435686459c0e0faac854997f3","email":"201403050007950","id":"13","updated_at":"2014-03-05 10:34:51","messageguides":"[{\"name\":\"Un-named Messaging Guide 1\",\"pages\":[\"sustainabilitydirectors\",\"marketingnbusinessdevelopmentdirectors\"],\"date\":1394015692958}]"};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM