第一次申请(First Application)
优质
小牛编辑
142浏览
2023-12-01
在进入jackson库的详细信息之前,让我们看一下应用程序的运行情况。 在这个例子中,我们创建了Student类。 我们将创建一个包含学生详细信息的JSON字符串,并将其反序列化为student对象,然后将其序列化为JSON字符串。
在C:\》Jackson_WORKSPACE创建名为C:\》Jackson_WORKSPACE的java类文件。
File: 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+ " ]";
}
}
Verify the result
使用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);