问题描述
我有一堂课:
public class Parent{
private Child child;
}
public class Child{
String name;
String surname;
}
我得到了一个 json
格式的信息正文,有两种类型:
1.
{
"child"{
"name":"TOM"
"surname":"Finn"
}
}
{
"name":"TOM"
" surname": "Finn"
}
当我尝试执行以下操作时:
Parent parent = objectmapper.convertvalue(body,Parent.class)
在第一种类型的主体中没问题,但在第二种类型中我得到错误 IllegalArgumentException
。
如何解决两种类型的正文都将被接受的问题?
解决方法
您在 JSON 中没有逗号并且在 surname
字符串中有空格。并且 child
也必须在括号中。试试这个:
{
"child": {
"name":"TOM","surname": "Finn"
}
}
阅读有关 JSON 格式的信息。规则并不多,但你应该遵守。
编辑:
如果您确定您的 JSON 是正确的,您可以专注于您的课程。
ObjectMapper
需要 getter 或 setter 才能工作,或者您不必使用 setVisibility()
更改默认配置。
其次,使用 readValue()
方法代替 convertValue()
。
如果您仍有问题需要处理,您可以在此article中阅读有关 ObjectMapper
的更多信息。