我希望能够使用jackson-databind将一个包含其他对象列表的json反序列化为一个对象。
我正在尝试反序列化下面的json。我有一个名为Class1的类,它包含一个List<NestedProp>
,其中Prop2是一个ArrayList。List<NestedProp> prop2
。
类结构:
class Class1 {
String prop1;
List<NestedProp> prop2;
//setters getters
}
class NestedProp {
String p1;
String p2;
//setters getters
}
`
```
"class1": {
"prop1": "pp",
"prop2": [
{
"nestedProp": [
{
"p1": "127",
"p2": "1"
},
{
"p1": "128",
"p2": "2"
}
]
}
]
}
While deserialisingI get the below exception:
>com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance of `NestedProp` (although at least one Creator exists): no String-argument constructor/factory method to deserialize from String value ('127')
at [Source: (File); line: 59, column: 7] (through reference chain: java.util.ArrayList[1]->Class1["prop2"]->java.util.ArrayList[0])
List<Class1> testData = objectMapper.readValue(test.json, Class1.class);
{}
括号,您需要3个类(除非使用Map
,但这似乎不太可能)。假设Class1
具有字段prop1
和prop2
,而NestedProp
具有字段p1
和p2
,那么哪个类具有字段nestedProp
? - AndreasClass1
代码。 - Ryuzaki L