对象映射器将json格式转换为对象,java



我有一个类:

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()

如果您还有问题需要处理,可以在本文中阅读更多关于ObjectMapper的内容

最新更新