java中JsonObject與JsonArray轉換方法實例
備忘一下,首先
這是一個JsonArrayStr,他可以轉換為JsonArray。
[{"name":"a1"},{"name":"a2"}]
這是一個JsonObjectStr,他可以轉換為JsonObject。
{"result":[{"name":"a1"},{"name":"a2"}]}
JsonObject轉換為java對象、JsonArray轉換為Java對象
JsonObject的value為JsonArray,對應的java類型為List。在案例中,java代碼如下(這里用的內部類)
@Data @AllArgsConstructor @NoArgsConstructor class AList{ private List<PersonA> result; } @Data @AllArgsConstructor @NoArgsConstructor class PersonA{ private String name; }
使用fastjson轉換jsonStr為java對象,完整代碼如下
public class JsonTest { public static void main(String[] args) { String strArray ="[{\"name\":\"a1\"},{\"name\":\"a2\"}]"; String strObject ="{\"result\":[{\"name\":\"a1\"},{\"name\":\"a2\"}]}"; // parseArray保證屬性key一致即可正確轉換 List<PersonA> personAList = JSON.parseArray(strArray, PersonA.class); // parseObject需要保證屬性key一致即可正確轉換 AList aList = JSON.parseObject(strObject, AList.class); } } @Data @AllArgsConstructor @NoArgsConstructor class AList{ private List<PersonA> result; } @Data @AllArgsConstructor @NoArgsConstructor class PersonA{ private String name; }
使用hutool轉換jsonStr為java對象,核心代碼如下
List<PersonA> personAList = JSONUtil.toList(JSONUtil.parseArray(strArray), PersonA.class);
JsonArray轉換為JsonObject
已知一個JsonArrayStr,內容為。
[{"name":"a1"},{"name":"a2"}]
不可以直接parseObject,JsonObject格式為{},且含有鍵值對。
使用以下方法將JsonArrayStr轉換為JsonObject對象:
使用fastjson
JSONArray array = JSON.parseArray(strArray); JSONObject jsonObject = new JSONObject(); jsonObject.put("result",array);
使用hutool
JSONArray array = JSONUtil.parseObj(strArray);; JSONObject jsonObject = new JSONObject(); jsonObject.put("result",array);
即將JsonArrayStr轉換為JsonObjectStr
{"result":[{"name":"a1"},{"name":"a2"}]}
真的搞不懂,為什么上游傳一個json值下來,直接傳一個object不行么?不行么?不行么???????
JsonArrayStr 轉換為 JsonObjectStr
有什么好說的,加括號,加鍵。
推薦使用hutool的StrUtil.wrap()
String strArray = "[{\"name\":\"a1\"},{\"name\":\"a2\"}]"; String strObject = StrUtil.wrap(strArray, "{\"result\":", "}");
最后得到的值為
{"result":[{"name":"a1"},{"name":"a2"}]}
補充:java中JSONObject和JSONArray解析
1.將xml字符串轉換為JSONObject字符串
org.json.JSONObject jsonObjectParent=XML.toJSONObject(josnStr);
2.解析JSONObject內容
如果解析的內容是json數據,就是帶大括號的{},就用getJSONObject(),如果解析的內容json數組,就是帶中括號[]的,就用 getJSONArray()
總結
到此這篇關于java中JsonObject與JsonArray轉換的文章就介紹到這了,更多相關java JsonObject與JsonArray轉換內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
IDEA?Ui設計器JFormDesigner?永久激活插件+注冊機(親測一直在用)
這篇文章主要介紹了IDEA?Ui設計器JFormDesigner?永久激活----插件+注冊機?自己一直在用的版本和注冊機,非常不錯,本文通過圖文并茂的形式給大家介紹的非常詳細,需要的朋友可以參考下2022-08-08Java設置Access-Control-Allow-Origin允許多域名訪問的實現方法
這篇文章主要介紹了Java設置Access-Control-Allow-Origin允許多域名訪問的實現方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-10-10基于@JsonSerialize和@JsonInclude注解使用方法
這篇文章主要介紹了@JsonSerialize和@JsonInclude注解使用方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10解決Spring boot整合mybatis,xml資源文件放置及路徑配置問題
這篇文章主要介紹了解決Spring boot整合mybatis,xml資源文件放置及路徑配置問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12聊聊spring @Transactional 事務無法使用的可能原因
這篇文章主要介紹了spring @Transactional 事務無法使用的可能原因,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07使用java.nio.file?庫優(yōu)雅的操作文件詳解
這篇文章主要介紹了使用java.nio.file?庫優(yōu)雅的操作文件詳解,需要的朋友可以參考下2023-05-05