Jackson是一個使用Java編寫的JSON解析庫。它能夠方便地將JSON字符串解析成Java對象,也可以將Java對象轉換成JSON字符串。
要使用Jackson解析JSON到對象,首先需要創建一個ObjectMapper對象:
ObjectMapper objectMapper = new ObjectMapper();
然后,可以使用ObjectMapper的readValue()方法將JSON字符串解析成Java對象:
String json = "{\"name\":\"Tom\",\"age\":23}"; User user = objectMapper.readValue(json, User.class);
其中,User是一個Java對象,它的屬性與JSON字符串中的字段名相對應。例如,在上面的JSON字符串中,有一個name字段,所以User對象也需要有一個名為name的屬性。
如果JSON字符串中的字段名與Java對象的屬性名不完全一致,可以使用@JsonProperty注解來指定映射關系。例如:
class User { @JsonProperty("user_name") private String name; private int age; }
這樣,在解析JSON字符串時,就會使用@JsonProperty指定的名稱來映射Java對象的屬性名。
除了解析JSON字符串到Java對象,Jackson還支持將Java對象轉換成JSON字符串。可以使用ObjectMapper的writeValueAsString()方法實現:
User user = new User("Tom", 23); String json = objectMapper.writeValueAsString(user);
這樣就可以將一個Java對象轉換成JSON字符串了。