欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-03-16 09:22:58
...

问题引入:

在我们解析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中的属性不匹配的问题。