转换
对象转JSON
objectMapping.writeValueAsString(obj)
JSON转对象
objectMapping.readValue(str, ojb.class)
说明
- 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中名不一致时解决方法:
在目标对象的字段级别上添加注解:
@JsonProperty(value = "name")