您可以为编写自定义解串器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}] }}
我们希望能够做到这一点,因此我们可以将属性添加到列表中。