Jackson是一個知名的Java庫,用于在Java對象和JSON數據之間進行映射,它支持各種各樣的JSON格式和數據類型。
ObjectMapper objectMapper = new ObjectMapper(); String json = "{\"name\":\"Tom\",\"age\":20}"; // 將JSON字符串轉為Java對象 Person person = objectMapper.readValue(json, Person.class); // 將Java對象轉為JSON字符串 json = objectMapper.writeValueAsString(person);
對于復雜的JSON格式或者Java對象,我們可以使用注解來指導映射操作。
@JsonInclude(Include.NON_NULL) public class Person { private String name; private Integer age; @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT+8") private Date createTime; // getter和setter方法 }
在上面的代碼中,我們使用了@JsonInclude注解來忽略Java對象中為null的屬性,在序列化的時候不會被包含到JSON字符串中。
使用@JsonFormat注解來指定日期格式和時區。
Jackson的使用非常靈活和強大,可以用于各種場景下的JSON序列化和反序列化操作。如果你需要在Java和JSON之間相互轉換,那么Jackson是一個不錯的選擇。