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

熱點內容
java監聽器延時 瀏覽:726
itunes備份包含微信聊天記錄 瀏覽:20
怎麼向虛擬機傳文件 瀏覽:677
win10怎麼用軟體激活不了 瀏覽:816
美版a1453是什麼版本 瀏覽:517
電腦里的文件夾按照拼音歸類 瀏覽:996
文件管理器怎麼把視頻壓縮成文件 瀏覽:477
標准化文件名稱包括哪些 瀏覽:85
win10不能讀取dll文件 瀏覽:882
雲騎士重裝系統找不到usb字樣文件 瀏覽:42
皖事通app社保年限在哪裡看 瀏覽:65
為什麼快影顯示沒網路 瀏覽:356
華為如何讓手機升級提醒紅1消失 瀏覽:345
我愛九九商城app 瀏覽:587
劍靈蒼穹武器升級 瀏覽:248
微信錢包微粒貸 瀏覽:654
滾動字幕屏找不到文件 瀏覽:990
鄭州青少年學編程哪個機構比較好 瀏覽:866
ps文件打開不是彩色的 瀏覽:781
監控硬碟格式化工具 瀏覽:512

友情鏈接