gpt4 book ai didi

java - 假设 Jackson 中根节点的所有子节点都是字段名称是否合理?

转载 作者:行者123 更新时间:2023-12-01 09:36:15 26 4
gpt4 key购买 nike

我正在尝试迭代 JsonNode 树,并且我编写了以下代码片段,该代码片段迭代根节点的子节点并从中获取文本,我认为这将是一个字段名称。

JsonNode rootNode = new ObjectMapper().readTree(jsonParser);
for (JsonNode node : rootNode){
String fieldName = node.asText(); // <- is it safe to assume this?
JsonNode value = node.get(fieldName);
}

我已阅读this similar post ,但接受的答案根本不起作用,因为 fieldsfieldNames返回iterator ,不能通过 foreach 进行迭代单独循环as far as I know

另一个最受欢迎的答案有效,但我想知道上面代码片段的假设是否仍然有效。

最佳答案

没有。

JsonNode#iterator() 的 javadoc州

Same as calling elements(); implemented so that convenience "for-each" loop can be used for looping over elements of JSON Array constructs.

以及 JsonNode#elements() 的 javadoc州

Method for accessing all value nodes of this Node, iff this node is a JSON Array or Object node. In case of Object node, field names (keys) are not included, only values. For other types of nodes, returns empty iterator.

因此返回的元素是对象节点的每个键值对的值。对于数组节点,它是数组元素。

关于java - 假设 Jackson 中根节点的所有子节点都是字段名称是否合理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38885638/

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