轉換
對象轉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")