目前在幫ShinyBear品牌做電商網站,在前後端的傳遞資訊時,時常使用到Json,而使用ObjectMapper,可以將Json字串及Java Object互相作轉換。
但注意,要記得在pom.xql中加上spring-boot-starter-web
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
ObjectMapper是一個Java庫,用於處理Java對象和JSON之間的相互轉換。它提供了一種簡單而靈活的方法,可將Java對象序列化為JSON格式的字符串,並將JSON字符串反序列化為Java對象。使用ObjectMapper能夠在處理JSON數據時變得更加便捷。
ObjectMapper objectMapper = new ObjectMapper();
YourObject obj = new YourObject();
String jsonString = objectMapper.writeValueAsString(obj);
2.將JSON字符串轉換為Java對象:(readValue())
ObjectMapper objectMapper = new ObjectMapper();
String jsonString = "{\"name\":\"John\",\"age\":30}";
YourObject obj = objectMapper.readValue(jsonString, YourObject.class);
3.格式化JSON輸出:
ObjectMapper objectMapper = new ObjectMapper();
YourObject obj = new YourObject();
String jsonString = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(obj);
可以使用ObjectMapper生成格式化的JSON字符串,以提高可讀性。
4.處理特殊情況:
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd"));
YourObject obj = new YourObject();
String jsonString = objectMapper.writeValueAsString(obj);
ObjectMapper提供了處理日期格式、處理集合類型、自定義序列化和反序列化等特殊情況的功能。 可以依照要規劃的功能做使用,不過主要還是前兩者使用的多。
public class Person {
@JsonProperty("first_name")
private String firstName;
@JsonProperty("last_name")
private String lastName;
@JsonProperty("age")
private int age;
// getters and setters...
}