json 返回数据命名不规范,导致反序列化报错Unrecognized field XXX
返回的json如下所示:
[{"C_TITLE":"XXX","ISSUE_DATE":"2019-04-04","NO":"XXX","PID":"A6047B87533CE7CECC4F20A517AFABE7","id":"84E3679357805CFFE05397BE0A0A9A86"},
{"C_TITLE":"XXX","ISSUE_DATE":"2019-03-25","NO":"XXX","PID":"369E68BCB18FC8DBC4C8BBEB0A62AAC8","id":"8418A98C739F3443E05397BE0A0A6C4E"}]
可以明显看出json的key命名不规范,不是驼峰命名,Java把josn字符串转换为对象(即反序列化)时,会导致报错:
Unrecognized field XXX
解决方案:在实体类的字段上,加上注解:@JsonProperty(“C_TITLE”)
这里我json序列化使用的是Jackson
eg:
@JsonProperty("C_TITLE")
private String cTITLE; //标题
@JsonProperty("ISSUE_DATE")
private String issueDATE; //发布日期
@JsonProperty("NO")
private String no; //公告号
@JsonProperty("PID")
private String pid; //
private String id; //
重要的事情说三遍:
命名一定要规范!
命名一定要规范!
命名一定要规范!