關(guān)于String轉(zhuǎn)Json的幾種方式
String轉(zhuǎn)Json方式
第一種
String格式為:
String result = "{"code":200,"code":"0","message":"SUCCESS"}"
使用:
JSONObject json = JSONObject.parseObject(result);
第二種
String格式為:
result: { "code": 200, "message": "查詢成功", "result": { "records": [ { "jobName": "高級開發(fā)工程師", "jobExperience": "一年以下", "education": "本科" }, { "jobName": "高級開發(fā)工程師", "jobExperience": "一年以下", "education": "本科" } ], "total": 1, "size": 10, "current": 1, "pages": 1 } }
使用:
JSONObject json = (JSONObject) JSON.toJSON(result);
String轉(zhuǎn)JSONObject遇到的奇怪的問題
遇到了一個(gè)String轉(zhuǎn)JSONObject的報(bào)錯(cuò),這個(gè)問題卡了我?guī)讉€(gè)小時(shí),這是轉(zhuǎn)換的代碼。
String jsondata = jSONString.toJSONString(); JSONObject DatajsonObject = JSON.parseObject(jsondata);
很簡單的一個(gè)轉(zhuǎn)換,理論上不會有任何問題,但是我在debug時(shí)一直出現(xiàn)異常。
我是用postman傳入一個(gè)json,代碼接收格式是JSONString。
在我調(diào)試了無數(shù)次以及查找了無數(shù)資料之后,我發(fā)現(xiàn)……根本沒有找到解決方案。
最后發(fā)現(xiàn),是這邊的老師用微信把樣例輸入的json數(shù)據(jù)發(fā)給我,而這里顯示的空格是NBSP而不是我們認(rèn)知中的空格,我將數(shù)據(jù)直接復(fù)制到postman中,postman里面顯示的就是空格(我把它復(fù)制到這邊的代碼塊中也是顯示空格),但是我將數(shù)據(jù)直接復(fù)制到idea中作為字符串,就顯示出了大量的NBSP,如圖。
最后把NBSP去掉之后就沒有問題了。我沒想到這么一個(gè)小問題卡了這么久。
我一開始還以為這個(gè)NBSP是微信的問題,但是我自己試了一下沒有這個(gè)問題,看來是我誤解微信了。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java觀察者模式實(shí)現(xiàn)和java觀察者模式演化
觀察者模式是經(jīng)典設(shè)計(jì)模式中很常用的一種,平常我們看到的監(jiān)聽器,基本上都是采用這種設(shè)計(jì)模式實(shí)現(xiàn)的,這里探討一下觀察者模式的演化2014-02-02Java使用TCP協(xié)議發(fā)送和接收數(shù)據(jù)方式
這篇文章詳細(xì)介紹了Java中使用TCP進(jìn)行數(shù)據(jù)傳輸?shù)牟襟E,包括創(chuàng)建Socket對象、獲取輸入輸出流、讀寫數(shù)據(jù)以及釋放資源,通過兩個(gè)示例代碼TCPTest01.java和TCPTest02.java,展示了如何在客戶端和服務(wù)器端進(jìn)行數(shù)據(jù)交換2024-12-12SpringBoot自定義FailureAnalyzer詳解
這篇文章主要介紹了SpringBoot自定義FailureAnalyzer詳解,FailureAnalyzer是一種在啟動時(shí)攔截?exception?并將其轉(zhuǎn)換為?human-readable?消息的好方法,包含在故障分析中,需要的朋友可以參考下2023-11-11Java多線程通訊之wait,notify的區(qū)別詳解
這篇文章主要介紹了Java多線程通訊之wait,notify的區(qū)別詳解,非常不錯(cuò),具有一定的參考借鑒借鑒價(jià)值,需要的朋友可以參考下2018-07-07Java 實(shí)戰(zhàn)項(xiàng)目之疫情人員流動管理系統(tǒng)詳解
讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Java實(shí)現(xiàn)一個(gè)疫情人員流動管理系統(tǒng),大家可以在過程中查缺補(bǔ)漏,提升水平2021-11-11SpringMVC如何獲取多種類型數(shù)據(jù)響應(yīng)
這篇文章主要介紹了SpringMVC如何獲取多種類型數(shù)據(jù)響應(yīng),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2023-11-11java 實(shí)現(xiàn)增量同步和自定義同步的操作
這篇文章主要介紹了java 實(shí)現(xiàn)增量同步和自定義同步的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01