乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Java 實(shí)現(xiàn)JSON字符串、JSON對(duì)象和Java對(duì)象的相互轉(zhuǎn)換(fastjson)

       hncdman 2023-03-18 發(fā)布于湖南

      皮皮蝦的倔強(qiáng)

      于 2022-05-23 13:25:09 發(fā)布

      13531

       收藏 57

      文章標(biāo)簽: java json 開發(fā)語言

      版權(quán)

      一、準(zhǔn)備工作

      定義三個(gè)json字符串用于以下測(cè)試:

      //json字符串-簡(jiǎn)單對(duì)象

      String jsonStr = "{\"studentName\":\"張三\",\"studentAge\":18}";

      //json字符串-數(shù)組類型

      String  jsonArrStr = "[{\"studentName\":\"張三\",\"studentAge\":18},{\"studentName\":\"李四\",\"studentAge\":17}]";

      //json字符串-復(fù)雜對(duì)象

      String  complexJsonStr= "{\"teacherName\":\"李尋歡\",\"teacherAge\":30,\"course\":{\"courseName\":\"武術(shù)\",\"code\":110},

                           \"students\":[{\"studentName\":\"張三\",\"studentAge\":18},{\"studentName\":\"李四\",\"studentAge\":19}]}";

      1

      2

      3

      4

      5

      6

      7

      二、json字符串、json對(duì)象、java對(duì)象的轉(zhuǎn)換方法

      1.JSON字符串到JSON對(duì)象的轉(zhuǎn)換

      (1)json字符串-簡(jiǎn)單對(duì)象與JSONObject之間的轉(zhuǎn)換

      JSONObject jsonObj = JSON.parseObject(jsonStr);

      1

      (2)json字符串-數(shù)組類型與JSONArray之間的轉(zhuǎn)換

      JSONArray jsonArray = JSON.parseArray(jsonArrStr);

      //遍歷JSONArray方法1

      for(int i = 0; i < jsonArray.size(); i++){

         JSONObject jsonObj = jsonArray.getJSONObject(i); 

      }

      //遍歷JSONArray方法2

      for(Object obj : jsonArray){

          JSONObject jsonObject = (JSONObject) obj;

      }

      1

      2

      3

      4

      5

      6

      7

      8

      9

      (3)json字符串-復(fù)雜對(duì)象與JSONObject之間的轉(zhuǎn)換

      JSONObject jsonObj = JSON.parseObject(complexJsonStr);

      //取出復(fù)雜對(duì)象中各項(xiàng)內(nèi)容

      String teacherName = jsonObj.getString("teacherName");

      Integer teacherAge = jsonObj.getInteger("teacherAge");

      JSONObject course = jsonObj.getJSONObject("course");

      JSONArray students = jsonObj.getJSONArray("students");

      1

      2

      3

      4

      5

      6

      2.JSON對(duì)象到JSON字符串的轉(zhuǎn)換

      JSONObject jsonObj = new JSONObject();

      //JSONObject到JSON字符串的轉(zhuǎn)換

      String jsonStr = jsonObj.toJSONString();

      1

      2

      3

      3.JSON字符串到Java對(duì)象的轉(zhuǎn)換

      JSON字符串與JavaBean之間的轉(zhuǎn)換建議使用TypeReference類

      (1)json字符串-簡(jiǎn)單對(duì)象與Java對(duì)象之間的轉(zhuǎn)換

      // 方法1

      Student student = JSON.parseObject(jsonStr , new TypeReference() {});

      // 方法2

      Student student = JSON.parseObject(jsonStr , Student.class);

      1

      2

      3

      4

      (2)json字符串-數(shù)組與Java對(duì)象之間的轉(zhuǎn)換

      ArrayListstudents = JSON.parseObject(jsonArrStr, new TypeReference() {});

      for (Student student : students) {

         System.out.println(student.getStudentName()+":"+student.getStudentAge());

      }

      1

      2

      3

      4

      (3)json字符串-復(fù)雜對(duì)象與Java對(duì)象之間的轉(zhuǎn)換

      Teacher teacher = JSON.parseObject(complexJsonStr, new TypeReference() {});

      //獲取teacher中的內(nèi)容

      String teacherName = teacher.getTeacherName();

      Integer teacherAge = teacher.getTeacherAge();

      Course course = teacher.getCourse();

      Liststudents = teacher.getStudents();

      1

      2

      3

      4

      5

      6

      4.Java對(duì)象到JSON字符串的轉(zhuǎn)換

      Teacher teacher = new Teacher();

      String jsonStr = JSON.toJSONString(teacher);

      1

      2

      5.Java對(duì)象到JSON對(duì)象的轉(zhuǎn)換

      String jsonStr= JSON.toJSONString(student);

      JSONObject jsonObj = JSON.parseObject(jsonStr);

      1

      2

      6.JSON對(duì)象到Java對(duì)象的轉(zhuǎn)換

      # 方法1,先轉(zhuǎn)換為json字符串,再使用parseObject

      String jsonStr = jsonObj.toJSONString();

      Student stu = JSON.parseObject(jsonStr,new TypeReference() {});

      # 方法2,直接使用toJavaObject

      Student stu = JSON.toJavaObject(jsonObj, Student.class);

      1

      2

      3

      4

      5

      例子

      1.json字符串轉(zhuǎn)化為java實(shí)體類 (parseObject)

      ApprovalVo approvalVo = JSON.parseObject(str, ApprovalVo.class);

      // str == json字符串

      // ApprovalVo == 實(shí)體類

      1

      2

      3

      2.json字符串轉(zhuǎn)化為list對(duì)象 (parseArray)

      String str2 = "[{'password':'123123','username':'zhangsan'},{'password':'321321','username':'lisi'}]";

      Listusers = JSON.parseArray(jsonStr2, User.class);

      1

      2

      3.json字符串轉(zhuǎn)化為復(fù)雜java對(duì)象 (parseObject)

      //  復(fù)雜對(duì)象->>>>對(duì)象中嵌套對(duì)象的

      String str3 = "{'name':'userGroup','users':[{'password':'123123','username':'zhangsan'},{'password':'321321','username':'lisi'}]}";

      UserGroup userGroup = JSON.parseObject(jsonStr3, UserGroup.class);

      1

      2

      3

      把實(shí)體類轉(zhuǎn)化成json字符串

      String str = JSON.toJSONString(ApprovalVo);

      1

      把json字符串轉(zhuǎn)化成JSONObject

       String jsonStr = "{\"school\":\"商職\",\"sex\":\"男\(zhòng)",\"name\":\"wjw\",\"age\":22}";

       JSONObject jsonObject = JSONObject.parseObject(jsonStr);

       System.out.println(jsonObject.getString("name"));

       System.out.println(jsonObject.getInteger("age"));

      1

      2

      3

      4

      參考:

      https://zhuanlan.zhihu.com/p/476747417

      https://blog.51cto.com/u_15281317/3008066

      ————————————————

      版權(quán)聲明:本文為CSDN博主「皮皮蝦的倔強(qiáng)」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。

      原文鏈接:https://blog.csdn.net/Wolves_howl/article/details/124921713

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多