使用jackson序列化物件

壹頁書發表於2014-03-31
Spring MVC整合Jackson序列化物件非常方便,省去了自己手工對映的麻煩。
其實單獨使用Jackson也是非常的方便

  1. public class Test {
  2.     private static ObjectMapper MAPPER = new ObjectMapper();

  3.     static {
  4.         MAPPER.getSerializationConfig().withSerializationInclusion(Inclusion.NON_NULL);
  5.     }

  6.     private static String toJSON(Object obj) throws JsonGenerationException, JsonMappingException, IOException {
  7.         String json = MAPPER.writeValueAsString(obj);
  8.         System.out.println(json);
  9.         return json;
  10.     }

  11.     private static void toMap(String json) throws JsonParseException, JsonMappingException, IOException {
  12.         Map map = MAPPER.readValue(json, HashMap.class);
  13.         System.out.println(map);
  14.     }

  15.     public static void main(String[] args) throws JsonGenerationException, JsonMappingException, IOException {
  16.         Person p = new Person();
  17.         p.setId(1);
  18.         p.setName("edmond");
  19.         String json = toJSON(p);
  20.         toMap(json);
  21.     }
  22. }

  23. class Person {
  24.     private int id;
  25.     private String name;
  26.     private int age = 10;

  27.     public int getId() {
  28.         return id;
  29.     }

  30.     public void setId(int id) {
  31.         this.id = id;
  32.     }

  33.     public String getName() {
  34.         return name;
  35.     }

  36.     public void setName(String name) {
  37.         this.name = name;
  38.     }

  39. }
結果:
{"id":1,"name":"edmond"}
{id=1, name=edmond}

Jackson使用getter、setter的名稱作為json的key名稱。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29254281/viewspace-1133599/,如需轉載,請註明出處,否則將追究法律責任。

相關文章