我有一个 Jackson JsonNode (v2.6.3),它有一个 json 数组作为其字段之一,我希望将该数组转换为 java 列表
目前,我在第 3 行执行以下问题:
JsonNode jsonNode = getJsonPayload();
JsonNode partial = jsonNode.path("someArrayField");
List<String> z = new ObjectMapper().readValue(partial.traverse(), new TypeReference<ArrayList<String>>(){}); // <- this is the problem area
Run Code Online (Sandbox Code Playgroud)
这感觉昂贵且不合适,我本以为库会提供一个简单的调用来实现这一点。
获取列表的正确/有效方法是什么?我看到其他一些人遵循与我上面相同的模式,但答案并未被广泛接受
自 Jackson 2.11 以来,方法readerForListOf和readerForArrayOf可用。因此,您的代码将如下所示:
JsonNode jsonNode = getJsonPayload();
JsonNode partial = jsonNode.path("someArrayField");
List<String> z = new ObjectMapper().readerForListOf(String.class).readValue(partial);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5425 次 |
| 最近记录: |