json 报文字段转换
转换
对象转JSON
objectMapping.writeValueAsString(obj)
JSON转对象
objectMapping.readValue(str, ojb.class)
说明
- 转换时间格式:
类名 | 方法名 |
com.alibaba.fastjson.annotation.JSONField | @JSONField(format =""yyyy-MM-dd HH:mm:ss"") |
com.fasterxml.jackson.annotation.JsonFormat | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
- json字符串中的key应该与java对象的属性名相同
- java对象中属性如果为private,则需要显示生成getter/setter方法;如果属性为public,则可以不必写getter/setter方法
- java对象如果有自定义的构造方法,json字符串转换为java对象时会出错
- 如果json字符串中的属性个数小于java对象中的属性个数,可以顺利转换,java中多的那个属性为null
- 如果json字符串中出现java对象中没有的属性,则在将json转换为java对象时会报错:Unrecognized field, not marked as ignorable
解决方法:在目标对象的类级别上添加注解:
@JsonIgnoreProperties(ignoreUnknown = true)
;
java对象名和json中名不一致时解决方法
-
类名 方法名 com.fasterxml.jackson.annotation.JsonProperty @JsonProperty(value = "k")
分享即成长