Jackson - 第一次申请


在详细介绍 Jackson 库之前,让我们先看看一个正在运行的应用程序。在此示例中,我们创建了 Student 类。我们将创建一个包含学生详细信息的 JSON 字符串,并将其反序列化为学生对象,然后将其序列化为 JSON 字符串。

在C:\>Jackson_WORKSPACE中创建一个名为 JacksonTester 的 java 类文件。

文件:JacksonTester.java

导入java.io.IOException;

导入 com.fasterxml.jackson.core.JsonParseException;
导入 com.fasterxml.jackson.databind.JsonMappingException;
导入 com.fasterxml.jackson.databind.ObjectMapper;

公共类 JacksonTester {
   公共静态无效主(字符串参数[]){
   
      ObjectMapper 映射器 = new ObjectMapper();
      String jsonString = "{\"姓名\":\"Mahesh\", \"年龄\":21}";
      
      //将json映射到学生
      尝试{
         学生student = mapper.readValue(jsonString, Student.class);
         
         System.out.println(学生);
         
         jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(student);
         
         System.out.println(jsonString);
      }
      catch (JsonParseException e) { e.printStackTrace();}
      catch (JsonMappingException e) { e.printStackTrace(); }
      catch (IOException e) { e.printStackTrace(); }
   }
}

班级学生{
   私有字符串名称;
   私有整数年龄;
   公共学生(){}
   公共字符串 getName() {
      返回名称;
   }
   公共无效setName(字符串名称){
      this.name = 名称;
   }
   公共 int getAge() {
      返回年龄;
   }
   公共无效setAge(int年龄){
      this.age = 年龄;
   }
   公共字符串 toString(){
      return "学生[姓名:"+姓名+",年龄:"+年龄+"]";
   }
}

验证结果

使用javac编译器编译类,如下所示:

C:\Jackson_WORKSPACE>javac JacksonTester.java

现在运行 jacksonTester 查看结果:

C:\Jackson_WORKSPACE>java JacksonTester

验证输出

Student [ name: Mahesh, age: 21 ]
{
  "name" : "Mahesh",
  "age" : 21
}

需要记住的步骤

以下是此处需要考虑的重要步骤。

步骤1:创建ObjectMapper对象。

创建 ObjectMapper 对象。它是一个可重复使用的对象。

ObjectMapper mapper = new ObjectMapper();

第 2 步:将 JSON 反序列化为对象。

使用 readValue() 方法从 JSON 中获取对象。传递 json 字符串/ json 字符串的源和对象类型作为参数。

//Object to JSON Conversion
Student student = mapper.readValue(jsonString, Student.class);

步骤 3:将对象序列化为 JSON。

使用 writeValueAsString() 方法获取对象的 JSON 字符串表示形式。

//Object to JSON Conversion		
jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(student);