簡體   English   中英

使用 jackson 將命名列表反序列化為列表

[英]Deserialize named list with jackson to a list

我想使用以下結構從 String.class 反序列化 json:

{"listName": [{"prop":"value"},{"prop":"value"}, ... ] }

List<PropVo> ,其中 PropVo 包含 String prop 作為字段。

  • 我不想用List<PropVo>創建包裝類
  • 我不想使用子字符串

是否可以選擇反序列化為列表?

您可以使用類型引用將該 JSON 轉換為Map<String, List<PropVo>>

Map<String, List<PropVo>> m = objectMapper.readValue(string, 
        new TypeReference<Map<String, List<PropVo>>>() {});

另一種方法是使用 readTree

例子:

ObjectMapper om = new ObjectMapper();
JsonNode list = om.readTree(json).path("listName");
List<PropVo> result = Arrays.asList(om.treeToValue(list,PropVo[].class);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM