您的位置:首頁 > 教程 > JAVA/JAVA編程 > 關于Java中Json的各種處理

關于Java中Json的各種處理

2022-06-18 17:56:45 來源:易采站長站 作者:

關于Java中Json的各種處理

目錄
Java Json的各種處理一、net.sf.json二、com.alibaba.fastjsonJava常用json處理

eLS站長之家-易采站長站-Easck.Com

Java>

eLS站長之家-易采站長站-Easck.Com

一、net.sf.json

1、Json轉MapeLS站長之家-易采站長站-Easck.Com

JSONObject jsonObject = JSONObject.fromObject(jsonStr);
Map<String,Object> map = new HashMap<>();
map.put("code",jsonObject .getInt("code"));

2、Json轉實體eLS站長之家-易采站長站-Easck.Com

JSONObject jsonObject = JSONObject.fromObject(jsonStr);
ArticleForm articleForm = (ArticleForm) JSONObject.toBean(jsonObject , ArticleForm.class);

如果實體中帶有List字段,需要指定泛型eLS站長之家-易采站長站-Easck.Com

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轉集合eLS站長之家-易采站長站-Easck.Com

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);
?? ?}
}

另外一種:eLS站長之家-易采站長站-Easck.Com

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);
}

eLS站長之家-易采站長站-Easck.Com

二、com.alibaba.fastjson

1、Json轉MapeLS站長之家-易采站長站-Easck.Com

JSONObject jsonObject = JSON.parseObject(jsonStr);
Map<String,Object> map = new HashMap<>();
map.put("code",jsonObject .getInt("code"));

2、Json轉實體eLS站長之家-易采站長站-Easck.Com

ArticleForm articleForm = JSON.parseObject(jsonStr, new TypeReference<ArticleForm>() {});

3、Json轉集合eLS站長之家-易采站長站-Easck.Com

List<ArticleForm> list = JSON.parseObject(jsonStr,new TypeReference<ArrayList<ArticleForm>>() {});

eLS站長之家-易采站長站-Easck.Com

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);

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持易采站長站。eLS站長之家-易采站長站-Easck.Com

如有侵權,請聯系QQ:279390809 電話:15144810328

相關文章

  • Spring Cloud 整合Apache-SkyWalking實現鏈路跟蹤的方法

    Spring Cloud 整合Apache-SkyWalking實現鏈路跟蹤的方法

    什么是SkyWalking 查看官網https://skywalking.apache.org/ 分布式系統的應用程序性能監視工具,專為微服務、云原生架構和基于容器(Docker、K8s、Mesos)架構而設計。 安裝 進入下載頁面https://
    2020-06-18
  • 成功解決IDEA2020 Plugins 連不上、打不開的方法

    成功解決IDEA2020 Plugins 連不上、打不開的方法

    IntelliJ IDEA 2020.1 插件中心一直打不開,鑒于有部分同學反饋設置http proxy不能解決,所以可按以下順序檢查 一、設置 http proxy—勾上Auto-detect proxy setting,參照下圖,加上地址 http://127.0.0
    2020-06-25
  • Java后臺實現微信支付和微信退款

    Java后臺實現微信支付和微信退款

    微信支付流程 都是我自己工作中開發的,親測可用,不喜勿噴。 controller中我是這么寫的,你們需要根據自己的業務需求改動。ResponseBean是我自己封裝的,你們可以改成你們想要的形式
    2020-03-27
  • IDEA2020 1.1中Plugins加載不出來的問題及解決方法

    IDEA2020 1.1中Plugins加載不出來的問題及解決方法

    進入File-Setting 如圖,取消勾選,點擊確認后重啟,點擊了以后等一會就可以正常顯示 ps:下面看下解決IDEA 2020.1.1 找不到程序包和符號 問題描述 IDEA 2020.1.1 maven項目build的時候報錯,找
    2020-06-28
  • Intellij idea熱部署插件JRebel的使用

    Intellij idea熱部署插件JRebel的使用

    項目需求,一直用eclipse的我,也要改用IDEA了,一開始,很不習慣。經過幾天的慢慢摸索和習慣之后,發現IDEA確實很好用。dark的界面是我喜歡的,智能的提示也讓寫代碼不再枯燥。 遺
    2020-06-25
  • 詳解基于IDEA2020.1的JAVA代碼提示插件開發例子

    詳解基于IDEA2020.1的JAVA代碼提示插件開發例子

    之前因為項目組有自己的代碼規范,為了約束平時的開發規范,于是基于2019.1.3版本開發了一個代碼提示的插件。但是在把IDEA切換到2020.1版本的時候,卻發現瘋狂報錯,但是網上關于
    2020-06-25
  • springboot + rabbitmq 如何實現消息確認機制(踩坑經驗)

    springboot + rabbitmq 如何實現消息確認機制(踩坑經驗)

    本文收錄在個人博客:www.chengxy-nds.top,技術資源共享,一起進步 最近部門號召大伙多組織一些技術分享會,說是要活躍公司的技術氛圍,但早就看穿一切的我知道,這 T M 就是為了刷
    2020-07-01
  • JetBrains IntelliJ IDEA 2020安裝與使用教程詳解

    JetBrains IntelliJ IDEA 2020安裝與使用教程詳解

    對于JetBrains IntelliJ IDEA 2020的認識 IntelliJ IDEA 2020是一款JAVA編程軟件,捷克IntelliJ公司研發推出。該軟件提供了一個非常強大的JAVA集成開發環境,不僅添加了對Records的完整代碼洞察支持,
    2020-06-28
色七七影院_香港三级台湾三级在线播放_男人放进女人阳道猛进猛出