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

Java Json字符串的雙引號(hào)("")括號(hào)如何去掉

 更新時(shí)間:2020年09月12日 15:55:22   作者:點(diǎn)擊確認(rèn)后開始  
這篇文章主要介紹了Java Json字符串的雙引號(hào)("")括號(hào)如何去掉?具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

我就廢話不多說了,大家還是直接看代碼吧~

//自己copy試一下比什么都好
public static void main(String[] args) {
		String json = "[\"name\":\"value\",\"value1\"]"; 
		String t = json.replaceAll("\\\"","");
		System.out.println("去除雙引號(hào)和斜杠后:"+t);
		String replaceAll = t.replace("[", "").replace("]","");
		System.out.println("去除左右中括號(hào)后:"+replaceAll);
	}

補(bǔ)充知識(shí):java 替換json字符串中間的引號(hào)保留兩邊的引號(hào),避免json校驗(yàn)失敗

問題描述

解析爬取的json數(shù)據(jù)時(shí),報(bào)如下錯(cuò)誤:

com.alibaba.fastjson.JSONException: syntax error, position at 4164, name mc
 at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:586)
 at com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:1157)
 at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:476)
 at com.alibaba.fastjson.parser.DefaultJSONParser.parse(DefaultJSONParser.java:1327)
 at com.alibaba.fastjson.parser.DefaultJSONParser.parse(DefaultJSONParser.java:1293)
 at com.alibaba.fastjson.JSON.parse(JSON.java:137)
 at com.alibaba.fastjson.JSON.parse(JSON.java:128)
 at com.alibaba.fastjson.JSON.parseObject(JSON.java:201)
 at com.nawang.crawl.GuizhouEnterpriseListCrawlAll2.crawlList(GuizhouEnterpriseListCrawlAll2.java:210)
 at com.nawang.crawl.GuizhouEnterpriseListCrawlAll2.main(GuizhouEnterpriseListCrawlAll2.java:85)

問題原因

獲取到”d”名稱對(duì)應(yīng)的所需結(jié)果

String allData = (String) JSONObject.parseObject(searchListStr).get("d");

調(diào)試時(shí)發(fā)現(xiàn)結(jié)果集 allData 字符串中間含有1個(gè)或多個(gè)雙引號(hào)(”)導(dǎo)致校驗(yàn)失敗

{"mc":"崔記"純凈水經(jīng)營部"},

{"mc":"貳+壹"休閑吧"},

{"mc":"富貴鳥"皮鞋經(jīng)營店"},

{"mc":"紅萍果"窗簾"}

用在線JSON校驗(yàn)格式化工具解析報(bào)錯(cuò):

第1行解析錯(cuò)誤:

{"mc":"崔記"純凈水經(jīng)營部"},{"mc":"貳+壹

----------^

期望是 'EOF', '}', ':', ',', ']'

將字符串中間的雙引號(hào)”去掉就符合JSON格式了,校驗(yàn)成功。

解決方法

當(dāng)然是想辦法如何去掉字符串中間的雙引號(hào)。

直接替換引號(hào)是不行的,名稱/值對(duì)全是雙引號(hào)括起來的,只是多了中間的雙引號(hào)。

最后想了個(gè)方法,利用名稱/值對(duì)的固定格式進(jìn)行雙引號(hào)單引號(hào)替換,其余的雙引號(hào)替換為空,然后單引號(hào)替換回雙引號(hào)。原字符串如 :

{“mc”:”崔記”純凈水經(jīng)營部”},{“mc”:”貳+壹”休閑吧”},…

String s = allData.replaceAll("\\{\"","{'") // {" --> {'
  .replaceAll("\":\"", "':'") // ":" --> ':'
  .replaceAll("\",\"", "','") // "," --> ','
  .replaceAll("\":", "':") // ": --> ':
  .replaceAll(",\"", ",'") // ," --> ,'
  .replaceAll("\"\\}", "'}") // "} --> '}
  .replaceAll("\"", "")  // " --> 空,以去掉字符串中間的引號(hào)
  .replaceAll("'", "\"")  // ' --> ",所有的單引號(hào)替換回雙引號(hào)
  .replaceAll("<br />", "") // 去掉字符串中的<br />
  .replaceAll("\\\\", "?"); // 字符串中含\也會(huì)導(dǎo)致解析失敗
JSONObject jsonData = JSONObject.parseObject(s);

這樣處理后,JSON 解析成功。

以上這篇Java Json字符串的雙引號(hào)("")括號(hào)如何去掉就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java實(shí)現(xiàn)登錄注冊(cè)界面

    java實(shí)現(xiàn)登錄注冊(cè)界面

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)登錄注冊(cè)界面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • mybatis Example Criteria like 模糊查詢問題

    mybatis Example Criteria like 模糊查詢問題

    這篇文章主要介紹了mybatis Example Criteria like 模糊查詢問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • SpringBoot集成Swagger3的實(shí)現(xiàn)

    SpringBoot集成Swagger3的實(shí)現(xiàn)

    本文主要介紹了SpringBoot集成Swagger3的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Java設(shè)計(jì)模式之工廠模式實(shí)現(xiàn)方法詳解

    Java設(shè)計(jì)模式之工廠模式實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了Java設(shè)計(jì)模式之工廠模式實(shí)現(xiàn)方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了工廠模式的分類、原理、實(shí)現(xiàn)方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-12-12
  • SpringBoot緩存Ehcache的使用詳解

    SpringBoot緩存Ehcache的使用詳解

    EhCache、Redis比較常用,使用Redis的時(shí)候需要先安裝Redis服務(wù)器,本文給大家介紹SpringBoot緩存Ehcache的使用詳解,感興趣的朋友跟隨小編一起看看吧
    2022-03-03
  • SpringBoot整合FastDFS方法過程詳解

    SpringBoot整合FastDFS方法過程詳解

    這篇文章主要介紹了SpringBoot整合FastDFS方法過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Spring中配置Transaction與不配置的區(qū)別及說明

    Spring中配置Transaction與不配置的區(qū)別及說明

    這篇文章主要介紹了Spring中配置Transaction與不配置的區(qū)別及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Spring-基于Spring使用自定義注解及Aspect實(shí)現(xiàn)數(shù)據(jù)庫切換操作

    Spring-基于Spring使用自定義注解及Aspect實(shí)現(xiàn)數(shù)據(jù)庫切換操作

    這篇文章主要介紹了Spring-基于Spring使用自定義注解及Aspect實(shí)現(xiàn)數(shù)據(jù)庫切換操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • java 出現(xiàn)Zipexception 異常的解決辦法

    java 出現(xiàn)Zipexception 異常的解決辦法

    這篇文章主要介紹了java 出現(xiàn)Zipexception 異常的解決辦法的相關(guān)資料,出現(xiàn) java.util.zip.ZipException: error in opening zip file 異常的原因及解決方法,需要的朋友可以參考下
    2017-08-08
  • 詳解OAuth2 Token 一定要放在請(qǐng)求頭中嗎

    詳解OAuth2 Token 一定要放在請(qǐng)求頭中嗎

    這篇文章主要介紹了詳解OAuth2 Token 一定要放在請(qǐng)求頭中嗎,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07

最新評(píng)論