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名称。