『壹』 JQuery .ajax 返回json格式,瀏覽器顯示帶有轉義字元問題
這樣的情況一般都是你的JSON不完整所致。在獲取數據時這樣處理一下就好了
$.post(url,data,function(youjson){
youjson=$.parseJSON(youjson);
//然後繼續處專理你的代碼屬就好了
});
『貳』 js解析json字元串報錯解決方案(帶有轉義字元的json字元串)
場景:從後台請求回來的數據中帶有json格式的字元串,需要處理成json對象才能進行操作。
JSON.parse():
使用JSON.parse方法來解析json字元串。
報錯: Uncaught SyntaxError: Unexpected token } in JSON at position 30
Uncaught SyntaxError: Unexpected token ' in JSON at position 1
這種報錯是由於,json字元串的格式有問題,json字元串中對象的最後一個元素後面不可以再加','逗號了。比如'{ "name": "cxh", "sex": "man",}'使用JSON.parse()就會報錯,而且 在json字元串中鍵值對需要用雙引號引起來。
解決方案:使用eval()
報錯:SyntaxError: Unexpected token e in JSON at position 1
由於請求回來的json中帶有轉義字元,所以才會報這個錯誤。
解決方案:帶有轉義字元的json字元串使用json
json數據使用JSON.parse()有瀏覽器是不兼容JSON這個對象的,或者有的裡面有JSON.parse解析不了的東西,所以暫時還是使用: eval("("+data+")");
json源數據字元有轉義符應該是必須的,你要看解析出來後是否有多餘的轉義符
json轉字元串JSON.stringify總體效果還可以:
前導 0 和小數點報錯:SyntaxError: JSON.parse: expected ',' or '}' after property value
SyntaxError: JSON.parse: unterminated fractional number
Uncaught SyntaxError: Unexpected number in JSON at position 25
Uncaught SyntaxError: Unexpected token } in JSON at position 26
數字不能用 0 開頭,比如01,並且你的小數點後面必須跟著至少一個數字。
『叄』 調用介面查出來的json對象裡面的引號為什麼加了這么多轉義字元呀
沒有轉義字元Json解析時會出錯
你可以理解成 []{}"" 這些都是Json解析的保留字元。