Jackson - Tuần tự hóa đối tượng
hãy tuần tự hóa một đối tượng java thành một tệp json và sau đó đọc tệp json đó để lấy lại đối tượng. Trong ví dụ này, chúng tôi đã tạo lớp Sinh viên. Chúng tôi sẽ tạo một tệp student.json sẽ có một biểu diễn json của đối tượng Student.
Tạo tệp lớp java có tên JacksonTester trong C:\>Jackson_WORKSPACE.
Tệp: JacksonTester.java
import java.io.File;
import java.io.IOException;
import com.fasterxml.jackson.core.JsonGenerationException;
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[]){
JacksonTester tester = new JacksonTester();
try {
Student student = new Student();
student.setAge(10);
student.setName("Mahesh");
tester.writeJSON(student);
Student student1 = tester.readJSON();
System.out.println(student1);
} catch (JsonParseException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
private void writeJSON(Student student) throws JsonGenerationException, JsonMappingException, IOException{
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(new File("student.json"), student);
}
private Student readJSON() throws JsonParseException, JsonMappingException, IOException{
ObjectMapper mapper = new ObjectMapper();
Student student = mapper.readValue(new File("student.json"), Student.class);
return student;
}
}
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+ " ]";
}
}
Verify the result
Biên dịch các lớp bằng cách sử dụng javac trình biên dịch như sau:
C:\Jackson_WORKSPACE>javac JacksonTester.java
Bây giờ hãy chạy jacksonTester để xem kết quả:
C:\Jackson_WORKSPACE>java JacksonTester
Xác minh đầu ra
Student [ name: Mahesh, age: 10 ]