關(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遇到的奇怪的問題
遇到了一個String轉(zhuǎn)JSONObject的報錯,這個問題卡了我?guī)讉€小時,這是轉(zhuǎn)換的代碼。
String jsondata = jSONString.toJSONString(); JSONObject DatajsonObject = JSON.parseObject(jsondata);
很簡單的一個轉(zhuǎn)換,理論上不會有任何問題,但是我在debug時一直出現(xiàn)異常。
我是用postman傳入一個json,代碼接收格式是JSONString。
在我調(diào)試了無數(shù)次以及查找了無數(shù)資料之后,我發(fā)現(xiàn)……根本沒有找到解決方案。
最后發(fā)現(xiàn),是這邊的老師用微信把樣例輸入的json數(shù)據(jù)發(fā)給我,而這里顯示的空格是NBSP而不是我們認知中的空格,我將數(shù)據(jù)直接復制到postman中,postman里面顯示的就是空格(我把它復制到這邊的代碼塊中也是顯示空格),但是我將數(shù)據(jù)直接復制到idea中作為字符串,就顯示出了大量的NBSP,如圖。
最后把NBSP去掉之后就沒有問題了。我沒想到這么一個小問題卡了這么久。
我一開始還以為這個NBSP是微信的問題,但是我自己試了一下沒有這個問題,看來是我誤解微信了。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java使用TCP協(xié)議發(fā)送和接收數(shù)據(jù)方式
這篇文章詳細介紹了Java中使用TCP進行數(shù)據(jù)傳輸?shù)牟襟E,包括創(chuàng)建Socket對象、獲取輸入輸出流、讀寫數(shù)據(jù)以及釋放資源,通過兩個示例代碼TCPTest01.java和TCPTest02.java,展示了如何在客戶端和服務器端進行數(shù)據(jù)交換2024-12-12SpringBoot自定義FailureAnalyzer詳解
這篇文章主要介紹了SpringBoot自定義FailureAnalyzer詳解,FailureAnalyzer是一種在啟動時攔截?exception?并將其轉(zhuǎn)換為?human-readable?消息的好方法,包含在故障分析中,需要的朋友可以參考下2023-11-11Java多線程通訊之wait,notify的區(qū)別詳解
這篇文章主要介紹了Java多線程通訊之wait,notify的區(qū)別詳解,非常不錯,具有一定的參考借鑒借鑒價值,需要的朋友可以參考下2018-07-07Java 實戰(zhàn)項目之疫情人員流動管理系統(tǒng)詳解
讀萬卷書不如行萬里路,只學書上的理論是遠遠不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Java實現(xiàn)一個疫情人員流動管理系統(tǒng),大家可以在過程中查缺補漏,提升水平2021-11-11SpringMVC如何獲取多種類型數(shù)據(jù)響應
這篇文章主要介紹了SpringMVC如何獲取多種類型數(shù)據(jù)響應,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-11-11