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