導航:首頁 > 編程語言 > json轉換字元報錯

json轉換字元報錯

發布時間:2023-06-15 18:02:25

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轉換問題問題,怎麼解決

string類型如果要轉換成json的話,就需要寫成這樣的形式,如下:
String jsonStr ="{'id':'11','parentId':'root','refObj':{'existType':'exist','deptType':'emp','treeNodeType':'dept'}}";
JSONObject jsonObj = new JSONObject(jsonStr);
JSONObject refObj = new JSONObject(jsonObj.getString("refObj"));
String existType = refObj.getString("existType");
System.out.println(existType);
jar使用的是org.json.jar

㈢ 我拼成的JSON字元串,然後轉換JSON對象成功了,但是到了後台報錯.

var json='{'data':[{"flag":"10","uuid":"aaa"},{"flag":"20","uuid":"ccc"}]}';

試下這樣

㈣ JSON.parse解析特殊字元報錯的解決辦法

         let str = JSON.stringify(arr)

         str = encodeURIComponent(str)

   <-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.->

         arr = JSON.parse(decodeURIComponent(str))        // 再還原

《=====================================================》

JSON.stringify() : 用於將 javaScript 值轉換為 JSON 字元串;

JSON.parse() :用於將一個 JSON 字元串轉換為對象;

encodeURIComponent() :可把字元串作為 URI 組件進行編碼,該方法不會對 ASCII 字母和數晌纖字進行編碼,也不會對這些 ASCII 標點符號進行編碼: - _ . ! ~ * ' ( ) ,其他字元(比如 :;/?:@&=+$,# 這鏈租些用於分隔 URI 組件的標點符號),都是由一個或多個十六進制宴喚仿的轉義序列替換的(鏈接:https://www.runoob.com/js/javascript-json-stringify.html);

decodeURIComponent() :可對 encodeURIComponent() 函數編碼的 URI 進行解碼(鏈接:https://www.runoob.com/jsref/jsref-decodeuricomponent.html)。

㈤ JSON解析錯誤,出現雙引號,反斜杠處理辦法

首先json 對象一定是 大括弧{絕判頌 開始  ,大括弧}並鄭結束

int i = jsonString.indexOf("{");   

jsonString = jsonString.substring(i);處理前部分

int j = jsonString.lastIndexOf("}");

jsonString = jsonString.substring(i-1,j+1);處理前後部分

jsonString = jsonString.replaceAll("沖滑\\\\","");  處理反斜杠

//可以通過解析方法解析json字元串了,不過處理過程每一步最好列印校驗下,沒問題就解析成JSONObject

這里我用的  cn.hutool.json.JSONUtil 來解析的、

閱讀全文

與json轉換字元報錯相關的資料

熱點內容
蘋果12原裝數據線怎麼感覺有點硬 瀏覽:764
js獲取div中的圖片不顯示不出來 瀏覽:291
什麼網站有首映動漫 瀏覽:461
淘寶網路電話叫什麼 瀏覽:231
編程要讀哪些書 瀏覽:134
如何在手機上新建文件夾里添文件 瀏覽:292
先鋒w10刷安卓系統 瀏覽:787
java設置過期日期 瀏覽:114
新版本抖音怎麼看我的數據比例 瀏覽:946
什麼是3G網路3G的發展史 瀏覽:269
如何使用ps把圖片的文件大小弄小 瀏覽:880
安卓系統根目錄文件夾 瀏覽:900
手錶怎麼設置蜂窩網路 瀏覽:51
舊愛勾搭app還有嗎 瀏覽:141
日外語言編程軟體哪個好 瀏覽:950
小論文發表了但是數據錯誤怎麼辦 瀏覽:952
注冊表禁止啟動程序運行 瀏覽:705
網路優化總體流程圖 瀏覽:735
前端程序員簡歷模板 瀏覽:706
蜂巢積木編程機器人怎麼樣 瀏覽:561

友情鏈接