<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      使用FastJson處理JSON數(shù)據(jù)

      一、簡(jiǎn)介

      FastJson對(duì)于json格式字符串的解析主要用到了下面三個(gè)類:
      1.JSON:fastJson的解析器,用于JSON格式字符串與JSON對(duì)象及javaBean之間的轉(zhuǎn)換
      2.JSONObject:fastJson提供的json對(duì)象
      3.JSONArray:fastJson提供json數(shù)組對(duì)象

      <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.47</version>
      </dependency>

      二、使用

      定義三個(gè)json字符串

      //json字符串-簡(jiǎn)單對(duì)象型
      private static final String  JSON_OBJ_STR = "{\"studentName\":\"lily\",\"studentAge\":12}";
      
      //json字符串-數(shù)組類型
      private static final String  JSON_ARRAY_STR = "[{\"studentName\":\"lily\",\"studentAge\":12},{\"studentName\":\"lucy\",\"studentAge\":15}]";
      
      //復(fù)雜格式j(luò)son字符串
      private static final String  COMPLEX_JSON_STR = "{\"teacherName\":\"crystall\",\"teacherAge\":27,\"course\":{\"courseName\":\"english\",\"code\":1270},\"students\":[{\"studentName\":\"lily\",\"studentAge\":12},{\"studentName\":\"lucy\",\"studentAge\":15}]}";

      2.1.JSON格式字符串與JSON對(duì)象之間的轉(zhuǎn)換

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

      /**
       * json字符串-簡(jiǎn)單對(duì)象型到JSONObject的轉(zhuǎn)換
       */
      @Test
      public void testJSONStrToJSONObject() {
      
          JSONObject jsonObject = JSONObject.parseObject(JSON_OBJ_STR);
      
          System.out.println("studentName:  " + jsonObject.getString("studentName") + ":" + "  studentAge:  "
                  + jsonObject.getInteger("studentAge"));
      
      }
      
      /**
       * JSONObject到j(luò)son字符串-簡(jiǎn)單對(duì)象型的轉(zhuǎn)換
       */
      @Test
      public void testJSONObjectToJSONStr() {
      
          //已知JSONObject,目標(biāo)要轉(zhuǎn)換為json字符串
          JSONObject jsonObject = JSONObject.parseObject(JSON_OBJ_STR);
          // 第一種方式
          String jsonString = JSONObject.toJSONString(jsonObject);
      
          // 第二種方式
          //String jsonString = jsonObject.toJSONString();
          System.out.println(jsonString);
      }

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

      /**
       * json字符串-數(shù)組類型到JSONArray的轉(zhuǎn)換
       */
      @Test
      public void testJSONStrToJSONArray() {
      
          JSONArray jsonArray = JSONArray.parseArray(JSON_ARRAY_STR);
      
          //遍歷方式1
          int size = jsonArray.size();
          for (int i = 0; i < size; i++) {
      
              JSONObject jsonObject = jsonArray.getJSONObject(i);
              System.out.println("studentName:  " + jsonObject.getString("studentName") + ":" + "  studentAge:  "
                      + jsonObject.getInteger("studentAge"));
          }
      
          //遍歷方式2
          for (Object obj : jsonArray) {
      
              JSONObject jsonObject = (JSONObject) obj;
              System.out.println("studentName:  " + jsonObject.getString("studentName") + ":" + "  studentAge:  "
                      + jsonObject.getInteger("studentAge"));
          }
      }
      
      /**
       * JSONArray到j(luò)son字符串-數(shù)組類型的轉(zhuǎn)換
       */
      @Test
      public void testJSONArrayToJSONStr() {
      
          //已知JSONArray,目標(biāo)要轉(zhuǎn)換為json字符串
          JSONArray jsonArray = JSONArray.parseArray(JSON_ARRAY_STR);
          //第一種方式
          String jsonString = JSONArray.toJSONString(jsonArray);
      
          // 第二種方式
          //String jsonString = jsonArray.toJSONString(jsonArray);
          System.out.println(jsonString);
      }

      2.1.3.復(fù)雜json格式字符串與JSONObject之間的轉(zhuǎn)換

      /**
       * 復(fù)雜json格式字符串到JSONObject的轉(zhuǎn)換
       */
      @Test
      public void testComplexJSONStrToJSONObject() {
      
          JSONObject jsonObject = JSONObject.parseObject(COMPLEX_JSON_STR);
      
          String teacherName = jsonObject.getString("teacherName");
          Integer teacherAge = jsonObject.getInteger("teacherAge");
      
          System.out.println("teacherName:  " + teacherName + "   teacherAge:  " + teacherAge);
      
          JSONObject jsonObjectcourse = jsonObject.getJSONObject("course");
           //獲取JSONObject中的數(shù)據(jù)
          String courseName = jsonObjectcourse.getString("courseName");
          Integer code = jsonObjectcourse.getInteger("code");
      
          System.out.println("courseName:  " + courseName + "   code:  " + code);
      
          JSONArray jsonArraystudents = jsonObject.getJSONArray("students");
      
          //遍歷JSONArray
          for (Object object : jsonArraystudents) {
      
              JSONObject jsonObjectone = (JSONObject) object;
              String studentName = jsonObjectone.getString("studentName");
              Integer studentAge = jsonObjectone.getInteger("studentAge");
      
              System.out.println("studentName:  " + studentName + "   studentAge:  " + studentAge);
          }
      }
      
      /**
       * 復(fù)雜JSONObject到j(luò)son格式字符串的轉(zhuǎn)換
       */
      @Test
      public void testJSONObjectToComplexJSONStr() {
      
         //復(fù)雜JSONObject,目標(biāo)要轉(zhuǎn)換為json字符串
          JSONObject jsonObject = JSONObject.parseObject(COMPLEX_JSON_STR);
      
          //第一種方式
          //String jsonString = JSONObject.toJSONString(jsonObject);
      
          //第二種方式
          String jsonString = jsonObject.toJSONString();
          System.out.println(jsonString);
      
      }

      2.2.JSON格式字符串與javaBean之間的轉(zhuǎn)換

      2.2.1.json字符串-簡(jiǎn)單對(duì)象型與javaBean之間的轉(zhuǎn)換

      /**
       * json字符串-簡(jiǎn)單對(duì)象到JavaBean之間的轉(zhuǎn)換
       */
      @Test
      public void testJSONStrToJavaBeanObj() {
      
          //第一種方式
          JSONObject jsonObject = JSONObject.parseObject(JSON_OBJ_STR);
      
          String studentName = jsonObject.getString("studentName");
          Integer studentAge = jsonObject.getInteger("studentAge");
      
          //Student student = new Student(studentName, studentAge);
      
          //第二種方式,使用TypeReference<T>類,由于其構(gòu)造方法使用protected進(jìn)行修飾,故創(chuàng)建其子類
          //Student student = JSONObject.parseObject(JSON_OBJ_STR, new TypeReference<Student>() {});
      
          //第三種方式,使用Gson的思想
          Student student = JSONObject.parseObject(JSON_OBJ_STR, Student.class);
      
          System.out.println(student);
      }
      
      /**
       * JavaBean到j(luò)son字符串-簡(jiǎn)單對(duì)象的轉(zhuǎn)換
       */
      @Test
      public void testJavaBeanObjToJSONStr() {
      
          Student student = new Student("lily", 12);
          String jsonString = JSONObject.toJSONString(student);
          System.out.println(jsonString);
      }

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

      /**
       * json字符串-數(shù)組類型到JavaBean_List的轉(zhuǎn)換
       */
      @Test
      public void testJSONStrToJavaBeanList() {
      
          //第一種方式
          JSONArray jsonArray = JSONArray.parseArray(JSON_ARRAY_STR);
      
          //遍歷JSONArray
          List<Student> students = new ArrayList<Student>();
          Student student = null;
          for (Object object : jsonArray) {
      
              JSONObject jsonObjectone = (JSONObject) object;
              String studentName = jsonObjectone.getString("studentName");
              Integer studentAge = jsonObjectone.getInteger("studentAge");
      
              student = new Student(studentName,studentAge);
              students.add(student);
          }
      
          System.out.println("students:  " + students);
      
      
          //第二種方式,使用TypeReference<T>類,由于其構(gòu)造方法使用protected進(jìn)行修飾,故創(chuàng)建其子類
          List<Student> studentList = JSONArray.parseObject(JSON_ARRAY_STR, new TypeReference<ArrayList<Student>>() {});
          System.out.println("studentList:  " + studentList);
      
          //第三種方式,使用Gson的思想
          List<Student> studentList1 = JSONArray.parseArray(JSON_ARRAY_STR, Student.class);
          System.out.println("studentList1:  " + studentList1);
      
      }
      
      /**
       * JavaBean_List到j(luò)son字符串-數(shù)組類型的轉(zhuǎn)換
       */
      @Test
      public void testJavaBeanListToJSONStr() {
      
          Student student = new Student("lily", 12);
          Student studenttwo = new Student("lucy", 15);
      
          List<Student> students = new ArrayList<Student>();
          students.add(student);
          students.add(studenttwo);
      
          String jsonString = JSONArray.toJSONString(students);
          System.out.println(jsonString);
      
      }

      2.2.3.復(fù)雜json格式字符串與與javaBean之間的轉(zhuǎn)換

      /**
       * 復(fù)雜json格式字符串到JavaBean_obj的轉(zhuǎn)換
       */
      @Test
      public void testComplexJSONStrToJavaBean(){
      
          //第一種方式,使用TypeReference<T>類,由于其構(gòu)造方法使用protected進(jìn)行修飾,故創(chuàng)建其子類
          Teacher teacher = JSONObject.parseObject(COMPLEX_JSON_STR, new TypeReference<Teacher>() {});
          System.out.println(teacher);
      
          //第二種方式,使用Gson思想
          Teacher teacher1 = JSONObject.parseObject(COMPLEX_JSON_STR, Teacher.class);
          System.out.println(teacher1);
      }
      
      /**
       * 復(fù)雜JavaBean_obj到j(luò)son格式字符串的轉(zhuǎn)換
       */
      @Test
      public void testJavaBeanToComplexJSONStr(){
      
          //已知復(fù)雜JavaBean_obj
          Teacher teacher = JSONObject.parseObject(COMPLEX_JSON_STR, new TypeReference<Teacher>() {});
          String jsonString = JSONObject.toJSONString(teacher);
          System.out.println(jsonString);
      }

      2.3.javaBean與json對(duì)象間的之間的轉(zhuǎn)換

      2.3.1.簡(jiǎn)單javaBean與json對(duì)象之間的轉(zhuǎn)換

      /**
       * 簡(jiǎn)單JavaBean_obj到j(luò)son對(duì)象的轉(zhuǎn)換
       */
      @Test
      public void testJavaBeanToJSONObject(){
      
          //已知簡(jiǎn)單JavaBean_obj
          Student student = new Student("lily", 12);
      
          //方式一
          String jsonString = JSONObject.toJSONString(student);
          JSONObject jsonObject = JSONObject.parseObject(jsonString);
          System.out.println(jsonObject);
      
          //方式二
          JSONObject jsonObject1 = (JSONObject) JSONObject.toJSON(student);
          System.out.println(jsonObject1);
      }
      
      /**
       * 簡(jiǎn)單json對(duì)象到JavaBean_obj的轉(zhuǎn)換
       */
      @Test
      public void testJSONObjectToJavaBean(){
      
          //已知簡(jiǎn)單json對(duì)象
          JSONObject jsonObject = JSONObject.parseObject(JSON_OBJ_STR);
      
          //第一種方式,使用TypeReference<T>類,由于其構(gòu)造方法使用protected進(jìn)行修飾,故創(chuàng)建其子類
          Student student = JSONObject.parseObject(jsonObject.toJSONString(), new TypeReference<Student>() {});
          System.out.println(student);
      
          //第二種方式,使用Gson的思想
          Student student1 = JSONObject.parseObject(jsonObject.toJSONString(), Student.class);
          System.out.println(student1);
      }

      2.3.2.JavaList與JsonArray之間的轉(zhuǎn)換

      /**
       * JavaList到JsonArray的轉(zhuǎn)換
       */
      @Test
      public void testJavaListToJsonArray() {
      
          //已知JavaList
          Student student = new Student("lily", 12);
          Student studenttwo = new Student("lucy", 15);
      
          List<Student> students = new ArrayList<Student>();
          students.add(student);
          students.add(studenttwo);
      
          //方式一
          String jsonString = JSONArray.toJSONString(students);
          JSONArray jsonArray = JSONArray.parseArray(jsonString);
          System.out.println(jsonArray);
      
          //方式二
          JSONArray jsonArray1 = (JSONArray) JSONArray.toJSON(students);
          System.out.println(jsonArray1);
      }
      
      /**
       * JsonArray到JavaList的轉(zhuǎn)換
       */
      @Test
      public void testJsonArrayToJavaList() {
      
          //已知JsonArray
          JSONArray jsonArray = JSONArray.parseArray(JSON_ARRAY_STR);
      
          //第一種方式,使用TypeReference<T>類,由于其構(gòu)造方法使用protected進(jìn)行修飾,故創(chuàng)建其子類
          ArrayList<Student> students = JSONArray.parseObject(jsonArray.toJSONString(),
                  new TypeReference<ArrayList<Student>>() {});
      
          System.out.println(students);
      
          //第二種方式,使用Gson的思想
          List<Student> students1 = JSONArray.parseArray(jsonArray.toJSONString(), Student.class);
          System.out.println(students1);
      }

      2.3.3.復(fù)雜JavaBean_obj與json對(duì)象之間的轉(zhuǎn)換

      /**
       * 復(fù)雜JavaBean_obj到j(luò)son對(duì)象的轉(zhuǎn)換
       */
      @Test
      public void testComplexJavaBeanToJSONObject() {
      
          //已知復(fù)雜JavaBean_obj
          Student student = new Student("lily", 12);
          Student studenttwo = new Student("lucy", 15);
      
          List<Student> students = new ArrayList<Student>();
          students.add(student);
          students.add(studenttwo);
          Course course = new Course("english", 1270);
      
          Teacher teacher = new Teacher("crystall", 27, course, students);
      
          //方式一
          String jsonString = JSONObject.toJSONString(teacher);
          JSONObject jsonObject = JSONObject.parseObject(jsonString);
          System.out.println(jsonObject);
      
          //方式二
          JSONObject jsonObject1 = (JSONObject) JSONObject.toJSON(teacher);
          System.out.println(jsonObject1);
      
      }
      
      /**
       * 復(fù)雜json對(duì)象到JavaBean_obj的轉(zhuǎn)換
       */
      @Test
      public void testComplexJSONObjectToJavaBean() {
      
          //已知復(fù)雜json對(duì)象
          JSONObject jsonObject = JSONObject.parseObject(COMPLEX_JSON_STR);
      
          //第一種方式,使用TypeReference<T>類,由于其構(gòu)造方法使用protected進(jìn)行修飾,故創(chuàng)建其子類
          Teacher teacher = JSONObject.parseObject(jsonObject.toJSONString(), new TypeReference<Teacher>() {});
          System.out.println(teacher);
      
          //第二種方式,使用Gson的思想
          Teacher teacher1 = JSONObject.parseObject(jsonObject.toJSONString(), Teacher.class);
          System.out.println(teacher1);
      }
      posted @ 2023-08-15 22:19  路暝月  閱讀(239)  評(píng)論(0)    收藏  舉報(bào)  來(lái)源
      主站蜘蛛池模板: 精品不卡一区二区三区| 国产小视频一区二区三区| 中文字幕精品亚洲无线码二区| 成人av一区二区亚洲精| 中文字幕日韩有码国产| 芷江| 国产精品偷乱一区二区三区| 麻花传媒免费网站在线观看| 影音先锋啪啪av资源网站| 日韩人妻精品中文字幕专区| 少妇人妻偷人精品系列| 久久国产精品成人免费| 无码三级av电影在线观看| 亚洲人成网网址在线看| 亚洲欧美综合人成在线| 中文字幕日韩国产精品| 丁香五月婷激情综合第九色| 苍南县| 永久无码天堂网小说区| 日韩精品一区二区三区视频| 欧美在线观看www| 亚洲熟妇熟女久久精品一区| 国产色精品久久人妻| 一区二区三区四区国产综合| 日韩成人午夜精品久久高潮| 亚洲精品国偷拍自产在线观看蜜臀 | 精品午夜福利在线视在亚洲| 国产亚洲精品AA片在线播放天| 欧美乱码伦视频免费| 国产精品一二二区视在线| 美女黄网站人色视频免费国产 | 精品国产亚洲av麻豆特色 | 国产精品SM捆绑调教视频| 中文字幕国产精品一二区| 精品无码av无码专区| 99久久婷婷国产综合精品青草漫画 | 专干老肥熟女视频网站| 国产 麻豆 日韩 欧美 久久| 久久精品视频这里有精品| 77777亚洲午夜久久多人| 暖暖 免费 高清 日本 在线观看5|