Jackson是一款流行的Java JSON對象處理庫,提供了將Java對象序列化成JSON格式和將JSON反序列化成Java對象的功能。在開發過程中我們常常需要將Java對象轉換成JSON格式的字符串,然而默認情況下,Jackson會將Java對象的屬性名按照駝峰命名法進行轉換,而不是下劃線命名法。
如果我們希望將Java對象的屬性名按照下劃線命名法轉換成JSON格式的字符串,可以使用Jackson提供的一個注解:@JsonProperty,將Java對象的屬性名與JSON格式的屬性名進行對應。
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
public class User {
@JsonProperty("user_name")
private String userName;
@JsonProperty("user_age")
private int userAge;
// 省略getter和setter方法
}
在上面的代碼中,我們使用了@JsonNaming注解,并將其值設置為PropertyNamingStrategy.SnakeCaseStrategy.class,這樣Jackson在進行字段命名轉換時會使用下劃線命名法。
同時,我們使用@JsonProperty注解,將Java對象的屬性名與JSON格式的屬性名進行對應,例如userName屬性使用@JsonProperty("user_name")注解,表示將其轉換成JSON格式的"user_name"屬性。
使用上述方法可以方便地實現Java對象轉JSON格式字符串時的駝峰命名法轉下劃線命名法。