对象映射器将json格式转换为对象,java
我有一门课:对象映射器将json格式转换为对象,java,java,json,data-binding,objectmapper,fasterxml,Java,Json,Data Binding,Objectmapper,Fasterxml,我有一门课: public class Parent{ private Child child; } public class Child{ String name; String surname; } 我得到了一个信息体,作为两种类型的json格式: 一, 当我尝试做以下事情时: Parent-Parent=objectmapper.convertvalue(body,Parent.class) 在第一种类型的主体中,它是可以的,但在第二种主体中,我得到了错误Illega
public class Parent{
private Child child;
}
public class Child{
String name;
String surname;
}
我得到了一个信息体,作为两种类型的json
格式:
一,
当我尝试做以下事情时:
Parent-Parent=objectmapper.convertvalue(body,Parent.class)
在第一种类型的主体中,它是可以的,但在第二种主体中,我得到了错误IllegalArgumentException
我如何修复这两种类型的主体都被接受的问题?JSON中没有逗号,而姓氏字符串中有空格。和
child
也必须放在括号中。试试这个:
{
"child": {
"name":"TOM",
"surname": "Finn"
}
}
阅读JSON格式。规则不多,但你应该遵守
编辑:
如果您确信您的JSON是正确的,那么您可以关注您的类。
ObjectMapper
需要getter或setter才能工作,或者您必须使用setVisibility()
更改默认配置
其次,使用readValue()
方法代替convertValue()
如果您仍有问题需要处理,您可以在此阅读有关
ObjectMapper
的更多信息。首先,您没有输入有效的jsonI编辑了我的答案,请检查它是否有助于您解决问题谢谢,我添加了Getter和Setter。但问题在于body,我从json中得到了body。第一次,我得到了带有子对象的父对象。第二次我只得到了一个子对象,我需要将它添加到父类中。好的,在这种情况下,您需要的就是在mapper中更改destiny类objectmapper.readValue(body,Child.class)
并在获得classChild
的对象后,调用父类的构造函数。
{
"name":"TOM"
" surname": "Finn"
}
{
"child": {
"name":"TOM",
"surname": "Finn"
}
}