Jackson库中objectMapper的操作详解版权声明

原创
小哥 3年前 (2022-10-28) 阅读数 46 #大杂烩

指向本文的链接:https://blog.csdn.net/han1196639488/article/details/79358743
ObjectMapper类是Jackson图书馆的主要班级。它提供了一些要转换的功能Java对象匹配JSON结构,反之亦然。它使用JsonParser和JsonGenerator实例实现JSON实际的读/写。

构造函数
S.N. 构造函数 & 描述
1 ObjectMapper()
默认构造函数,它生成默认的。JsonFactory必要时使用StdSerializerProvider作为其SerializerProvider,并BeanSerializerFactory作为其SerializerFactory。
2 ObjectMapper(JsonFactory jf)
构造使用指定的JsonFactory建立必要的JsonParsers和/或JsonGenerators映射。
3 ObjectMapper(JsonFactory jf, SerializerProvider sp, DeserializerProvider dp)
4 ObjectMapper(JsonFactory jf, SerializerProvider sp, DeserializerProvider dp, SerializationConfig sconfig, DeserializationConfig dconfig)
5 ObjectMapper(SerializerFactory sf)
不推荐使用。改用其他构造; 请注意,您可以设置序列化工厂。setSerializerFactory(org.codehaus.jackson.map.SerializerFactory)

示例代码:

import java.io.IOException;
import org.codehaus.jackson.JsonParseException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.SerializationConfig;

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);
mapper.enable(SerializationConfig.Feature.INDENT_OUTPUT);
jsonString = mapper.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+ " ]";
}
}

其中
Student student = mapper.readValue(jsonString, Student.class);
是将string字符串转换为对象

jsonString = mapper.writeValueAsString(student);
就是转换对象json格式的字符串。

验证输出

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


版权声明:本文是CSDN博主“韩小文”的原文如下CC 4.0 by-sa版权协议,转载请附上原始来源链接和本声明。
原始链接:https://blog.csdn.net/han1196639488/article/details/79358743

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

热门