Java Jackson:允许嵌套或;“平坦”;反序列化时的集合
我有一个接收Json负载并进一步处理它的服务。 负载可能有也可能没有嵌套的集合。例如:Java Jackson:允许嵌套或;“平坦”;反序列化时的集合,java,json,jackson,Java,Json,Jackson,我有一个接收Json负载并进一步处理它的服务。 负载可能有也可能没有嵌套的集合。例如: // with nested collections {"customers": [ { "name":"John", "invoices":[ { "id":"1234", "items":[ { "invoice-id":"1234", "sku":"abdd"
// with nested collections
{"customers": [
{
"name":"John",
"invoices":[
{
"id":"1234",
"items":[
{
"invoice-id":"1234",
"sku":"abdd"
},
{
"invoice-id":"1234",
"sku":"d431"
}]
},
{
"id":"455",
"items":[
{
"invoice-id":"455",
"sku":"j3dj"
},
{
"invoice-id":"455",
"sku":"dee8"
}]
}
]
},
{
"name":"Bob"
...
}
]}
我希望能够用一个Java对象处理这两种类型的有效负载。我想到的方法是使用自定义反序列化器,但我想知道是否有更简单的基于注释的方法
// without nested collection
{"customers": [
{
"name":"John",
"invoices":[
{
"number":"1234"
},
{
"number":"455"
}
],
"items":[
{
"invoice-id":"1234",
"sku":"abdd"
},
{
"invoice-id":"1234",
"sku":"d431"
},
{
"invoice-id":"455",
"sku":"j3dj"
},
{
"invoice-id":"455",
"sku":"dee8"
}]
},
{
"name":"Bob"
}
]}