導航:首頁 > 編程語言 > 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轉換字元報錯相關的資料

熱點內容
1855鏡頭升級版 瀏覽:454
哪些網站可以找到卷子 瀏覽:701
asp資料庫密碼 瀏覽:829
如何非同步提交post數據 瀏覽:552
分區後文件去哪裡了 瀏覽:806
電腦關機會清空數據怎麼設置 瀏覽:472
cad注冊文件刪 瀏覽:7
蘋果pro筆記本中配 瀏覽:860
西安招工網站有哪些 瀏覽:120
惠州找客戶app哪裡的好 瀏覽:597
凱立德導航卡文件都有哪些 瀏覽:609
怎麼將pdf文件上傳到慕課 瀏覽:768
cad怎麼做文件標簽 瀏覽:235
openwrt記住wifi密碼 瀏覽:20
迅雷直播那個版本好用嗎 瀏覽:921
ps3硬破解硬碟里文件 瀏覽:290
從什麼網站上能買到正品化妝品 瀏覽:777
gmg找不到注冊代碼 瀏覽:580
兒童配眼鏡時需要哪些數據 瀏覽:437
app網路初始化異常 瀏覽:1

友情鏈接