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中的属性不匹配的问题。
上一篇: java二分查找法—1
下一篇: [转]Gson过滤字段