關于Java中Json的各種處理
2022-06-18 17:56:45 來源:易采站長站 作者:
目錄
Java Json的各種處理一、net.sf.json二、com.alibaba.fastjsonJava常用json處理Java>
一、net.sf.json
1、Json轉Map
JSONObject jsonObject = JSONObject.fromObject(jsonStr); Map<String,Object> map = new HashMap<>(); map.put("code",jsonObject .getInt("code"));
2、Json轉實體
JSONObject jsonObject = JSONObject.fromObject(jsonStr); ArticleForm articleForm = (ArticleForm) JSONObject.toBean(jsonObject , ArticleForm.class);
如果實體中帶有List字段,需要指定泛型
Map<String, Class> classMap = new HashMap<String, Class>(); classMap.put("keywords", String.class); ArticleForm articleForm = (ArticleForm) JSONObject.toBean(data.getJSONObject(i), ArticleForm.class,classMap);
3、Json轉集合
List<ArticleForm> list = new ArrayList<>(); JSONArray data = jsonObject.getJSONArray("data"); if (errorCode == 0 && data != null && !data.isEmpty()) { ?? ?for (int i = 0; i < data.size(); i++) { ?? ??? ?Map<String, Class> classMap = new HashMap<String, Class>(); ?? ??? ?classMap.put("keywords", String.class); ?? ??? ?ArticleForm articleForm = (ArticleForm) JSONObject.toBean(data.getJSONObject(i), ArticleForm.class,classMap); ?? ??? ?list.add(articleForm); ?? ?} }
另外一種:
List<ArticleForm> list = new ArrayList<>(); JSONArray data = jsonObject.getJSONArray("data"); if (errorCode == 0 && data != null && !data.isEmpty()) { ?? ?Map<String, Class> classMap = new HashMap<String, Class>(); ?? ?classMap.put("keywords", String.class); ?? ?list ?= (List<ArticleForm>) JSONArray.toArray(data, ArticleForm.class,classMap); }
二、com.alibaba.fastjson
1、Json轉Map
JSONObject jsonObject = JSON.parseObject(jsonStr); Map<String,Object> map = new HashMap<>(); map.put("code",jsonObject .getInt("code"));
2、Json轉實體
ArticleForm articleForm = JSON.parseObject(jsonStr, new TypeReference<ArticleForm>() {});
3、Json轉集合
List<ArticleForm> list = JSON.parseObject(jsonStr,new TypeReference<ArrayList<ArticleForm>>() {});
Java常用json處理
// String和json的互相轉換 String str = "{\"status\":200,\"message\":\"\",\"data\":{\"KmList\":[\"總分\",\"語文\",\"數學\",\"英語\",\"道德與法治\",\"科學基礎\"]}}"; System.out.println("str:"+str); // JSONArray arrays = JSON.parseArray(str); // string轉jsonArray JSONObject jsonObject = JSON.parseObject(str); // string轉jsonObject System.out.println("jsonObject:"+jsonObject); String s = jsonObject.toJSONString(); // json(object和Array相同)轉string // json轉list<Object>或者object String str1 = "[\"總分\",\"語文\",\"數學\",\"英語\",\"道德與法治\",\"科學基礎\"]"; List<String> list = JSON.parseArray(str1, String.class); // json轉list集合,將String.class改成其他對象.class即可 System.out.println("list:"+JSON.toJSONString(list)); String s1 = JSON.parseObject(JSON.toJSONString("語文"), String.class); // json轉對象,將String.class改成其他對象.class即可 System.out.println("s1:"+s1); // object轉字符串后即可轉jsonObject或者jsonArray // json和map Map<String, Object> map = new HashMap<>(); map.put("xAxis","11"); map.put("yAxis","2222"); String json = JSON.toJSONString(map);//map轉String System.out.println("json:"+json); Map<String, Object> map1 = JSON.parseObject(json, Map.class); // 轉List<Map> parserArray即可 System.out.println("map1:"+map1);
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持易采站長站。
如有侵權,請聯系QQ:279390809 電話:15144810328
最新圖文推薦
相關文章
-
Spring Cloud 整合Apache-SkyWalking實現鏈路跟蹤的方法
什么是SkyWalking 查看官網https://skywalking.apache.org/ 分布式系統的應用程序性能監視工具,專為微服務、云原生架構和基于容器(Docker、K8s、Mesos)架構而設計。 安裝 進入下載頁面https://2020-06-18
-
成功解決IDEA2020 Plugins 連不上、打不開的方法
IntelliJ IDEA 2020.1 插件中心一直打不開,鑒于有部分同學反饋設置http proxy不能解決,所以可按以下順序檢查 一、設置 http proxy—勾上Auto-detect proxy setting,參照下圖,加上地址 http://127.0.02020-06-25
-
IDEA2020 1.1中Plugins加載不出來的問題及解決方法
進入File-Setting 如圖,取消勾選,點擊確認后重啟,點擊了以后等一會就可以正常顯示 ps:下面看下解決IDEA 2020.1.1 找不到程序包和符號 問題描述 IDEA 2020.1.1 maven項目build的時候報錯,找2020-06-28
-
springboot + rabbitmq 如何實現消息確認機制(踩坑經驗)
本文收錄在個人博客:www.chengxy-nds.top,技術資源共享,一起進步 最近部門號召大伙多組織一些技術分享會,說是要活躍公司的技術氛圍,但早就看穿一切的我知道,這 T M 就是為了刷2020-07-01
-
JetBrains IntelliJ IDEA 2020安裝與使用教程詳解
對于JetBrains IntelliJ IDEA 2020的認識 IntelliJ IDEA 2020是一款JAVA編程軟件,捷克IntelliJ公司研發推出。該軟件提供了一個非常強大的JAVA集成開發環境,不僅添加了對Records的完整代碼洞察支持,2020-06-28