① 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 來解析的、
② prototype.js影響了json轉數組攜帶反斜杠
是的,prototype.js影響了json轉數組攜帶反斜杠。prototype.js是一個JavaScript庫,它提供了一種簡單的方法來擴展JavaScript功能,以便在Web應用程序中使謹明鋒用。它提供了一種簡單的方法來擴展JavaScript功能,以便在Web應用程序中使用。它提供了一種簡單的方法來處理JSON字元串,以便將其轉換為JavaScript對象,從而使它們可以更容易地處理。但是,祥晌prototype.js會影響JSON轉換數組時攜帶反斜杠的行為,因為它槐笑會把反斜杠轉換為特殊字元,從而導致轉換失敗。因此,在使用prototype.js時,應該避免使用反斜杠,以免出現轉換失敗的情況。
③ 為什麼JSON字元串當中會出現反斜杠
相信很多小夥伴在使用json的過程中,會發現有時候json中會出現反斜杠,是不是很奇怪這個問題?
我使叢搜用的滲伍歷fastjson。
通過下面的小例子來看下:
執行結果:
分析:
1)首先我們組裝一個map
2)將map進行序列化進行輸出,發現沒有問題
3)將map進行序列化,再次進行序列化,發現反斜杠出現了
總結:
其實就是我橘衡們對map或者對象進行了兩次的序列化。說白了就是進行了兩次的toJSONString。
④ 前端 ajax 到後台的 json數據 有反斜杠
用stripslashes函數處理一下就可以
$str = stripslashes($_POST['json']);