欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java處理解析帶有反斜杠的json

 更新時間:2024年01月25日 11:32:52   作者:火_  
在Java中操作JSON數據是一項常見的任務,其中一個常見的問題是如何在JSON字符串中包含反斜杠,本文主要介紹了java處理解析帶有反斜杠的json,感興趣的可以了解一下

json處理依賴:fastjson

問題:

對一個json字符串轉換成fastjson中的JSONObject對象的時候如果該json字符串中帶有多余的反斜杠,可能會導致解析失?。?/p>

舉例:

//現有一個json字符串
String s = "{\"job\":{\"setting\":{\"restore\":{\"maxRowNumForCheckpoint\":0,\"isRestore\":false,\"restoreColumnName\":\"\",\"restoreColumnIndex\":0},\"errorLimit\":{\"record\":100},\"speed\":{\"bytes\":0,\"channel\":1}}}}";


//對該字符串做處理
JSONObject jsonObject = JSONObject.parseObject(s);
System.out.println(jsonObject);

這時候就會報錯

這種簡單的反斜杠處理有兩種方式:

處理方法1:

簡單粗暴去掉字符串中的反斜杠:

//現有一個json字符串
String s = "{\"job\":{\"setting\":{\"restore\":{\"maxRowNumForCheckpoint\":0,\"isRestore\":false,\"restoreColumnName\":\"\",\"restoreColumnIndex\":0},\"errorLimit\":{\"record\":100},\"speed\":{\"bytes\":0,\"channel\":1}}}}";


//解析前去除反斜杠,將反斜杠替換為空字符串
s = StringUtils.replace(s, "\\", "");

//對該字符串做處理
JSONObject jsonObject = JSONObject.parseObject(s);
System.out.println(jsonObject);

處理方法2:

解析前反轉義一下

//現有一個json字符串
String s = "{\"job\":{\"setting\":{\"restore\":{\"maxRowNumForCheckpoint\":0,\"isRestore\":false,\"restoreColumnName\":\"\",\"restoreColumnIndex\":0},\"errorLimit\":{\"record\":100},\"speed\":{\"bytes\":0,\"channel\":1}}}}";


//解析前反轉義該json字符串
s = StringEscapeUtils.unescapeJavaScript(s);

//對該字符串做處理
JSONObject jsonObject = JSONObject.parseObject(s);
System.out.println(jsonObject);

如果這兩種方法都不行,或者說json中的反斜杠情況略微復雜,去除所有反斜杠后會讓json字符串的本意發(fā)生變化的話,那可以試試下面的方法

處理方法3(上述兩種方法不生效再考慮):

//現有一個json字符串
String s = "{\"job\":{\"setting\":{\"restore\":{\"maxRowNumForCheckpoint\":0,\"isRestore\":false,\"restoreColumnName\":\"\",\"restoreColumnIndex\":0},\"errorLimit\":{\"record\":100},\"speed\":{\"bytes\":0,\"channel\":1}}}}";


//解析前處理json字符串
 s = new String(s);

//對該字符串做處理
JSONObject jsonObject = JSONObject.parseObject(s);
System.out.println(jsonObject);

到此這篇關于java處理解析帶有反斜杠的json的文章就介紹到這了,更多相關java 反斜杠的json解析內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家! 

相關文章

  • Java編程實現時間和時間戳相互轉換實例

    Java編程實現時間和時間戳相互轉換實例

    這篇文章主要介紹了什么是時間戳,以及Java編程實現時間和時間戳相互轉換實例,具有一定的參考價值,需要的朋友可以了解下。
    2017-09-09
  • 解決線程異常WAITING(parking)問題

    解決線程異常WAITING(parking)問題

    文章總結:在項目中線程數量持續(xù)增長無法回收,導致服務器卡死和內存不足,通過分析發(fā)現是由于自定義線程池未執(zhí)行shutdown()關閉導致線程泄漏
    2024-11-11
  • Java如何獲取客戶端mac地址

    Java如何獲取客戶端mac地址

    在用戶登錄時,通過獲取IP地址來識別計算機的MAC地址,然后將用戶賬號與該MAC地址進行綁定,確保每個賬號只能在一臺特定的計算機上登錄,增強系統(tǒng)安全性,這種方法適用于需要嚴格賬戶安全管理的場景
    2024-09-09
  • Spring Boot應用配置常用相關視圖解析器詳解

    Spring Boot應用配置常用相關視圖解析器詳解

    這篇文章主要給大家介紹了關于Spring Boot應用配置常用相關視圖解析器的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-12-12
  • Spring Boot示例分析講解自動化裝配機制核心注解

    Spring Boot示例分析講解自動化裝配機制核心注解

    這篇文章主要分析了Spring Boot 自動化裝配機制核心注解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-07-07
  • springboot中使用Hibernate-Validation校驗參數詳解

    springboot中使用Hibernate-Validation校驗參數詳解

    這篇文章主要為大家介紹了springboot中使用Hibernate-Validation校驗參數詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • Spring整合redis(jedis)實現Session共享的過程

    Spring整合redis(jedis)實現Session共享的過程

    這篇文章主要介紹了Spring整合redis(jedis)實現Session共享,需要的朋友可以參考下
    2018-06-06
  • SpringBoot集成ShedLock實現分布式定時任務

    SpringBoot集成ShedLock實現分布式定時任務

    ShedLock 是一個 Java 庫,通常用于分布式系統(tǒng)中,確保定時任務(Scheduled Tasks)在集群環(huán)境下只被某一個實例執(zhí)行一次,它通過在共享資源中添加鎖的方式,本文給大家介紹了SpringBoot集成ShedLock實現分布式定時任務,需要的朋友可以參考下
    2024-11-11
  • java后端進行跨域的幾種方式小結

    java后端進行跨域的幾種方式小結

    本文主要介紹了java后端進行跨域的幾種方式小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • java中@ConfigurationProperties失效的問題解決

    java中@ConfigurationProperties失效的問題解決

    在Java開發(fā)中,使用@ConfigurationProperties注解讀取配置文件時,如果配置類中的屬性設置為static,將無法正確讀取配置值,本文就來介紹一下具體解決方法,感興趣的可以了解一下
    2024-09-09

最新評論