使用Jackson转换带下划线的属性为驼峰属性

使用jackson时,如果json的属性使用下划线,而实体的属性使用驼峰式,怎么办?

很简单,直接贴代码

public class JacksonTest {
    public static void main(String[] args) throws JsonParseException, JsonMappingException, IOException {
        ObjectMapper mapper = new ObjectMapper();
        String json = "{\"user_name\":\"bflee\",\"id_number\":\"123456\"}";
        mapper.setPropertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES);
        O o = (O) mapper.readValue(json, O.class);
        System.out.println(o.getIdNumber());
        }
    }
    class O implements Serializable{
        private static final long serialVersionUID = -3004824622398622080L;
        private String userName ;
        private String idNumber ;
        public String getUserName() {
            return userName;
        }
        public void setUserName(String userName) {
            this.userName = userName;
        }
        public String getIdNumber() {
            return idNumber;
        }
        public void setIdNumber(String idNumber) {
            this.idNumber = idNumber;
     }

}
在Spring Boot开发中,我们经常需要将JSON对象转换为Java对象或反之亦然。但是,在JSON和Java对象之间转换的过程中,往往会遇到下划线驼峰命名风格的差异问题。这个时候,我们可以使用Spring Boot自Jackson库进行转换。下面我将详细介绍如何在Spring Boot中使用Jackson库进行下划线驼峰格式的转换。 1. 下划线转换驼峰 在Spring Boot中,使用Jackson库进行下划线驼峰命名格式的转换,需要在配置文件中进行配置,首先我们需要在application.yaml配置文件中添加以下内容: ```yaml # 进行下划线转换驼峰 spring: jackson: property-naming-strategy: com.fasterxml.jackson.databind.PropertyNamingStrategy$SnakeCaseStrategy ``` 添加这段配置代码后,就可以实现下划线转换驼峰。在进行Java对象与JSON字符串之间的转换时,JSON字符串的下划线将会自动转换为Java对象的驼峰命名格式,例如,原本`user_name`的JSON字段在Java对象中将会变成`userName`。 2. 驼峰转换下划线 在进行Java对象与JSON字符串之间的转换时,我们也可以将Java对象中的驼峰命名格式转换为JSON字符串中的下划线。要实现这个功能,我们需要在配置文件中加入以下代码: ```yaml # 进行驼峰转换下划线 spring: jackson: property-naming-strategy: com.fasterxml.jackson.databind.PropertyNamingStrategy$SNAKE_CASE ``` 这时候,在进行Java对象与JSON字符串之间的转换时,Java对象中的驼峰命名格式就会被自动转换成JSON字符串中的下划线格式,例如,Java对象中的`userName`字段会自动被转换成JSON字符串中的`user_name`。 总结: 在Spring Boot中,使用Jackson库进行下划线驼峰命名格式的转换,只需要在application.yaml配置文件中添加一段内容即可。设置`com.fasterxml.jackson.databind.PropertyNamingStrategy$SnakeCaseStrategy`可以将下划线转换成Java对象的驼峰命名格式,而将`com.fasterxml.jackson.databind.PropertyNamingStrategy$SNAKE_CASE`设置为属性命名策略,则可以将Java对象中的驼峰命名格式自动转换成JSON字符串中的下划线格式。这样的配置可以很方便地适应不同的数据接口和Java对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值