在java中我们将json字符串解析成对象时,我们一般首先要做的就是根据字符串去定义对应的实体类,而在定义实体类时要求实体类中的属性值命名必须和json字符串中的key值完全一致,这样就会存在如下问题:
如果后台返回的json字符串中有的key为数字或者汉字,那我们就无法正常定义对应的实体类,因为java中规定属性命名不能以数字开头,也不能包含汉字,那么该如何解决呢?
1,如果key中为数字开头或者为纯数字:
在定义对应的实体类时,只需在对应的属性名前添加一个下划线即可,如下:
class demoBean{
private String _2way;
private String _021;
get set 方法
}
2,如果key中包含汉字或者为纯汉字,那么我们需要借助注解@SerializedName(“接口返回的带汉字的key名”)来为对应的key起一个符合命名规范的别名,如下:
class demoBean{
@SerializedName("汉字")
private String hanzi;
get set 方法
}