Jackson - First Application

在进入jackson库的详细信息之前,让我们看一下应用程序的运行情况.在这个例子中,我们创建了Student类.我们将创建一个包含学生详细信息的JSON字符串,并将其反序列化为student对象,然后将其序列化为JSON字符串.

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

文件:JacksonTester.java

import java.io.IOException;

import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;

public class JacksonTester {
   public static void main(String args[]){
   
      ObjectMapper mapper = new ObjectMapper();
      String jsonString = "{name:Mahesh, age:21}";
      
      //map json to student
      try{
         Student student = mapper.readValue(jsonString, Student.class);
         
         System.out.println(student);
         
         jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(student);
         
         System.out.println(jsonString);
      }
      catch (JsonParseException e) { e.printStackTrace();}
      catch (JsonMappingException e) { e.printStackTrace(); }
      catch (IOException e) { e.printStackTrace(); }
   }
}

class Student {
   private String name;
   private int age;
   public Student(){}
   public String getName() {
      return name;
   }
   public void setName(String name) {
      this.name = name;
   }
   public int getAge() {
      return age;
   }
   public void setAge(int age) {
      this.age = age;
   }
   public String toString(){
      return "Student [ name: "+name+", age: "+ age+ " ]";
   } 
}


验证结果

编译使用 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 DeSerialize到Object.

使用readValue()方法从JSON获取Object.将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);