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

熱點內容
網路中常用的傳輸介質 瀏覽:518
文件如何使用 瀏覽:322
同步推密碼找回 瀏覽:865
樂高怎麼才能用電腦編程序 瀏覽:65
本機qq文件為什麼找不到 瀏覽:264
安卓qq空間免升級 瀏覽:490
linux如何刪除模塊驅動程序 瀏覽:193
at89c51c程序 瀏覽:329
怎麼創建word大綱文件 瀏覽:622
裊裊朗誦文件生成器 瀏覽:626
1054件文件是多少gb 瀏覽:371
高州禁養區內能養豬多少頭的文件 瀏覽:927
win8ico文件 瀏覽:949
仁和數控怎麼編程 瀏覽:381
項目文件夾圖片 瀏覽:87
怎麼在東芝電視安裝app 瀏覽:954
plc顯示數字怎麼編程 瀏覽:439
如何辨別假網站 瀏覽:711
寬頻用別人的賬號密碼 瀏覽:556
新app如何佔有市場 瀏覽:42

友情鏈接