gpt4 book ai didi

java - Jackson JsonNode 到类型集合

转载 作者:太空狗 更新时间:2023-10-29 22:51:57 26 4
gpt4 key购买 nike

将 Jackson JsonNode 转换为 java 集合的正确方法是什么?

如果它是一个 json 字符串,我可以使用 ObjectMapper.readValue(String, TypeReference) 但对于 JsonNode,唯一的选项是 ObjectMapper.treeToValue(TreeNode , Class) 不会提供类型化集合,或者 ObjectMapper.convertValue(Object, JavaType) 因为接受任何 POJO 进行转换而感觉不对。

还有另一种“正确”的方法还是其中之一?

最佳答案

获取 ObjectReader ObjectMapper#readerFor(TypeReference) 使用 TypeReference 描述您想要的类型化集合。然后使用 ObjectReader#readValue(JsonNode) 解析 JsonNode (大概是 ArrayNode )。

例如,获取List<String>来自仅包含 JSON 字符串的 JSON 数组

ObjectMapper mapper = new ObjectMapper();
// example JsonNode
JsonNode arrayNode = mapper.createArrayNode().add("one").add("two");
// acquire reader for the right type
ObjectReader reader = mapper.readerFor(new TypeReference<List<String>>() {
});
// use it
List<String> list = reader.readValue(arrayNode);

关于java - Jackson JsonNode 到类型集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39237835/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com