• JAVA操作Json的ObjectMapper类


    JAVA操作Json的ObjectMapper类

    • 市面上用于在 Java 中解析 Json 的第三方库,随便一搜不下几十种,其中的佼佼者有 Google 的 Gson以及本文的 jackson。

    • 三者不相伯仲,随着掌握一个都能满足项目中的 json 解析操作,因为 Spring Boot Web 组件默认使用的是 jackson,所以掌握 Jackjson 是非常有必要的。

    • package com.zving;
       
      import org.codehaus.jackson.map.ObjectMapper;
       
      /**
       * 学习ObjectMapper类
       * 
       * @author Clover
       */
      public class JacksonTester {
       
          public static void main(String[] args) {
              ObjectMapper mapper = new ObjectMapper();
              //指定遇到date按照这种格式转换        
              SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");        
              mapper.setDateFormat(fmt);
              String jsonString = "";
              stringToStudent(mapper, jsonString);
              studentToString(mapper, jsonString);
              stringToStudentList(mapper, jsonString);
          }
       
          /**
           * 字符串转实体类
           * 
           * @param mapper
           * @param jsonString
           */
          public static void stringToStudent(ObjectMapper mapper, String jsonString) {
              jsonString = "{\"id\":1001,\"name\":\"Tom\",\"info\":\"一个小男孩\"}";
       
              try {
                  Student student = mapper.readValue(jsonString, Student.class);
                  System.out.println(student);
              } catch (Exception e) {
                  e.printStackTrace();
              }
          }
       
          /**
           * 实体类转字符串
           * 
           * @param mapper
           * @param jsonString
           */
          public static void studentToString(ObjectMapper mapper, String jsonString) {
       
              Student student = new Student();
              student.setId(1002);
              student.setName("李四");
              student.setInfo("一个小女孩");
              try {
                  jsonString = mapper.writeValueAsString(student);
                  System.out.println(jsonString);
              } catch (Exception e) {
                  e.printStackTrace();
              }
          }
       
          /**
           * 字符串转 List<实体类>
           * 
           * @param mapper
           * @param jsonString
           */
          public static void stringToStudentList(ObjectMapper mapper, String jsonString) {
              jsonString = "[{\"id\":1001,\"name\":\"Tom\",\"info\":\"一个小男孩\"},
      			{\"id\":1002,\"name\":\"Jane\",\"info\":\"一个小女孩\"}]";
      							
              try {
                  Student[] stu = mapper.readValue(jsonString, Student[].class);
                  for (Student student : stu) {
                      System.out.println(student);
                  }
       
                  String ss = mapper.writeValueAsString(stu);
                  System.out.println(ss);
       
              } catch (Exception e) {
                  e.printStackTrace();
              }
          }
       
      }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
      • 23
      • 24
      • 25
      • 26
      • 27
      • 28
      • 29
      • 30
      • 31
      • 32
      • 33
      • 34
      • 35
      • 36
      • 37
      • 38
      • 39
      • 40
      • 41
      • 42
      • 43
      • 44
      • 45
      • 46
      • 47
      • 48
      • 49
      • 50
      • 51
      • 52
      • 53
      • 54
      • 55
      • 56
      • 57
      • 58
      • 59
      • 60
      • 61
      • 62
      • 63
      • 64
      • 65
      • 66
      • 67
      • 68
      • 69
      • 70
      • 71
      • 72
      • 73
      • 74
      • 75
      • 76
      • 77
      • 78
      • 79
      • 80
      • 81
      • 82
      • 83
      • 84
  • 相关阅读:
    我用ChatGPT做直播技术选型,卷死了同事
    CSS accent-color + 自己封装 radio
    java实现用户登录
    蓝桥每日一题2023.10.12
    如何把家装修出温馨的感觉?极家好不好
    强化学习-DQN和AC算法
    【算法】删除有序数组中的重复项
    解析视频编辑SDK的技术服务支持与价格
    【中间件】中间件的宏观探讨漫谈
    HDU_6033
  • 原文地址:https://blog.csdn.net/Andrew_Chenwq/article/details/133204395