我正在尝试将邮递员收集作为JSON输入并将其马歇尔到请求Java对象。下面是我的输入和相应的java对象以及错误。
{"item": [
{
"name": "name1",
"item": [
{
"name": "name2",
"event": [
{
"listen": "test",
"script": {
"exec": [
"irrelevant data",
"irrelevant data"
],
"type": "text/javascript",
"id": "1234"
}
}
]
}
Java对象:
public class Request {
private List<Item> item;
}
public class Item {
private String name;
private List<Event> event;
private List<Item> item;
}
错误:
JSON解码错误:无法反序列化Item out的实例START_ARRAY令牌嵌套异常是com.fasterxml.jackson.databind.exc.MismatchedInputException
如果我从item类中删除List项,则请求将通过,但我只获得第一个项目name1,这就是我所获得的。我尝试使项目类有一个数组项目[]项目,只是一个单一的项目'项目项目',以及,但都产生相同的错误。
因为类Item
不能有字段List<Item>
,我猜它会递归。你可以这样做。
public class Request {
private List<Item> item;
}
public class Item {
private String name;
@JsonProperty("item")
private List<NestedItem> nestedItem;
}
public class NestedItem {
private String name;
private List<Event> event;
}