杰克逊列表反序列化。嵌套列表

【字号: 日期:2024-02-16浏览:24作者:雯心
如何解决杰克逊列表反序列化。嵌套列表?

您可以为编写自定义解串器List<Item> items。请参见以下示例:

class ItemsJsonDeserializer extends JsonDeserializer<List<Item>> { @Override public List<Item> deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException {InnerItems innerItems = jp.readValueAs(InnerItems.class);return innerItems.elements; } private static class InnerItems {public List<Item> elements; }}

现在,您必须通知Jackson将其用于您的财产。您可以通过以下方式执行此操作:

public class Order { public String name; @JsonDeserialize(using = ItemsJsonDeserializer.class) public List<Item> items;}解决方法

我正在创建具有嵌套列表的API。杰克逊似乎是创建对象的好工具,但我还不太清楚如何嵌套列表,我想知道它是否可能。

我的对象看起来像这样。

public class Order { public String name; public List<Item> items;}

我希望有一种将其映射到看起来像这样的json的方法:

{ name : 'A name' items : { elements : [{ price : 30}] }}

我们希望能够做到这一点,因此我们可以将属性添加到列表中。

相关文章: