Spring MVC集成Jackson序列化对象非常方便,省去了自己手工映射的麻烦。
其实单独使用Jackson也是非常的方便
publicclass Test {
private static ObjectMapper MAPPER = new ObjectMapper();
static {
MAPPER.getSerializationConfig().withSerializationInclusion(Inclusion.NON_NULL);
}
private static String toJSON(Object obj) throws JsonGenerationException, JsonMappingException, IOException {
String json = MAPPER.writeValueAsString(obj);
System.out.println(json);
return json;
}
private static void toMap(String json) throws JsonParseException, JsonMappingException, IOException {
Map map = MAPPER.readValue(json, HashMap.class);
System.out.println(map);
}
public static void main(String[] args) throws JsonGenerationException, JsonMappingException, IOException {
Person p = new Person();
p.setId(1);
p.setName("edmond");
String json = toJSON(p);
toMap(json);
}
}
class Person {
privateint id;
privateString name;
privateint age = 10;
publicint getId(){
return id;
}
public void setId(int id){
this.id = id;
}
publicString getName(){
return name;
}
public void setName(String name){
this.name = name;
}
}
结果:
{"id":1,"name":"edmond"}
{id=1, name=edmond}
Jackson使用getter、setter的名称作为json的key名称。