java json key 大小写_Java中Json转换为bean key大写转小写 JSONObject.toBean

Java中Json转换为bean key大写转小写

问题

获取第三方接口时,发现给的JSON数据中有的key是大写字母开头的,如

JSON 数据为:

{"Id":"9uiafcba-r423-438e-df0c-a1d34e3faa91","Name":"yiyehu"}

Java Bean 为:

public class DetailDto {

private String guid;

private String name;

get; set;

}

通过JSONObject.toBean(jsonObject, DetailDto.class); 把JSON转换成Bean的时候,因为属性名不匹配,所以Bean对象中全为空。

解决方案:重写 JavaIdentifierTransformer

private JsonConfig getJsonConfig(Class clazz) {

JsonConfig config = new JsonConfig();

config.setJavaIdentifierTransformer(new JavaIdentifierTransformer() {

@Override

public String transformToJavaIdentifier(String str) {

if(StringUtils.isEmpty(str)){

return str;

}

return str.substring(0,1).toLowerCase().concat(str.substring(1));

}

});

config.setRootClass(clazz);

return config;

}

通过JSONObject.toBean(jsonObject, getJsonConfig(DetailDto.class));把JSON转换成Bean,成功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值