ObjectMapper類是Jackson庫的主要類。它提供一些功能將轉換成Java對象匹配JSON結構,反之亦然。它使用JsonParser和JsonGenerator的實例實現JSON實際的讀/寫。
類聲明
以下是org.codehaus.jackson.map.ObjectMapper類的聲明:
public class ObjectMapper
extends ObjectCodec
implements Versioned
嵌套類
S.N. | 類 & 描述 |
---|---|
1 | static class ObjectMapper.DefaultTypeResolverBuilder定製TypeResolverBuilder,提供所謂的“默認輸入”使用類型解析構建器(見enableDefaultTyping()瞭解詳細信息)。 |
2 | static class ObjectMapper.DefaultTyping使用enableDefaultTyping()枚舉指定什麼樣的類型(類)默認輸入應該使用。 |
構造函數
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) |
繼承的方法
這個類繼承了以下類方法:
java.lang.Object
ObjectMapper示例
readValue()和writeValueAsString()。
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 [ name: Mahesh, age: 21 ]
{
"name" : "Mahesh",
"age" : 21
}
原文地址:https://blog.csdn.net/u013065023/article/details/54970298