FastJson解析JSON字符串以中文命名的key值和JavaBean字段冲突的解决

问题引入:

在我们解析JSON字符串时,常常要将解析的结果封装成JavaBean对象,封装成JavaBean对象我们一般使用FastJson依赖,但当我们要解析的JSON字符串中有以中文命名的key值时,再写JavaBean时就会遇到JSON字符串中的key字段名与JavaBean中的字段名难以对应的问题

如:

当我们的JSON字符串为:

{
    "姓名":"abin"
}

那这时如果我们要写JavaBean字段时,一般我们会按照Java的命名规则来命名

如:

private String name;

但如果这样写的话,使用FastJson去解析成Java对象时,就会出现JSON字段名与JavaBean字段名不一致的问题导致解析失败,这时大家会经常的遇到空指针异常,原因就是json中的key与bean中的属性不能匹配,因此在转换过程中出现了部分属性为null的情况,字段名不一致导致的解析失败数据为空。

解决问题:

想要解决这一问题,我们可以使用阿里巴巴FastJson提供的@JSONField注解进行处理

解决代码:

@JSONField(name = "姓名")
private String name;

通过这个操作,就解决了JSON中的key与JavaBean中的属性不匹配的问题。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值