日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java秘技之Json数据解析与转换 -- Java使用示例

發布時間:2023/12/4 java 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java秘技之Json数据解析与转换 -- Java使用示例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概要

json是前后臺交互常用的數據格式,在java后臺中經常需要實現java bean、list和json字符串的相互轉化,故簡單介紹不同框架的使用,提供簡單工具類。

在Java中,常見的json框架有:Jackson(springboot默認)、fastjson(阿里開源)、Gson(谷歌開源)。網絡有它們的性能對比研究,此處不做討論,根據自己習慣來選擇即可。

json的數據結構包括:{}、[],等同于java的對象、數組。兩者相互組合,就能夠表達很復雜的數據結構了。

使用

Fastjon

  • 添加Maven依賴,可從https://github.com/alibaba/fastjson獲取。
  • <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.61</version></dependency>
  • 使用示例,主要對象是 JSON、JSONArray、JSONObject
  • public void fastJsonTest() {//數據示例List list = Arrays.asList("Banana","apple","Orange");String obj = "{\"id\":1001,\"age\":12}";Person p = new Person(1001,12,"David");//java對象 ==> json字符串,json對象String str = JSON.toJSONString(p);JSONObject jsonObj1 = (JSONObject) JSON.toJSON(p);//json字符串 ==> json對象、Java對象Person p1 = JSON.parseObject(obj, Person.class);JSONObject jsonObj2 = JSON.parseObject(obj);//json對象 ==> java對象Person p2 = JSON.toJavaObject(jsonObj2, Person.class);//數組處理JSONArray json = (JSONArray)JSON.toJSON(list);String jsonStr = String.valueOf(JSON.toJSON(json));}
  • 官方教程 https://github.com/alibaba/fastjson/wiki/Quick-Start-CN
  • Jackson

  • 添加Maven依賴,SpringBoot中默認引入,無需額外操作。包括三個jar包:jackson-databind、jackson-core、jackson-annotations
  • 使用示例,注意異常處理
  • public void jacksonDemo() throws IOException {//數據示例User user = new User("001","David","xxx",12);Map<String,Object> map = new HashMap<String,Object>();map.put("A1", user);map.put("A2", new ArrayList<String>());//創建ObjectMapper對象ObjectMapper mapper = new ObjectMapper();//Java對象 ==> json字符串String jsonStr1 = mapper.writeValueAsString(user);String jsonStr2 = mapper.writeValueAsString(map);//json字符串 ==> Java對象User u = mapper.readValue(jsonStr1, User.class);Map m = mapper.readValue(jsonStr2, Map.class);}

    Gson

  • 添加Maven依賴,可從 https://github.com/google/gson獲取

    <dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.8.7</version> </dependency>
  • 使用示例

    public void gsonDemo() {//示例數據User user = new User("kevin",22,new Date(),Arrays.asList("aa","bb","cc"));List list = Arrays.asList("Banana","apple","Orange");//創建gson對象Gson gson = new Gson();//Java對象 ==> json字符串String s1 = gson.toJson(list);String s2 = gson.toJson(user);//json字符串 ==> Java對象gson.fromJson(s1, List.class);gson.fromJson(s2, User.class);}
  • 結語

    感謝您的觀看,如有不足之處,歡迎批評指正。

    總結

    以上是生活随笔為你收集整理的Java秘技之Json数据解析与转换 -- Java使用示例的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。