如何解决杰克逊列表反序列化嵌套列表
您可以为编写自定义解串器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
}]
}
}
我们希望能够做到这一点,因此我们可以将属性添加到列表中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。