gpt4 book ai didi

java - 调用 findValue 方法时 JsonNode 返回 null?

转载 作者:行者123 更新时间:2023-12-01 21:45:26 24 4
gpt4 key购买 nike

这是一个 json 示例

{
"key1": {
"key2": {
"key3": "value3"
}
}
}

我想获取key3的值,即“value3”JsonNode 类的 findValue 方法应该可以达到这里的目的。

所以我尝试了以下方法:

final ObjectMapper jsonMapper = new ObjectMapper();

String jsonRoot = "{\"key1\":\n" + " {\"key2\":\n" + " {\"key3\":\"value3\"}\n" + " }\n" + "}";
JsonNode node = jsonMapper.convertValue(jsonRoot,JsonNode.class);
JsonNode found = node.findValue("key3");
System.out.println(found.asText());
System.out.println(found.isObject());

但是,我看到“found”为空。我无法弄清楚为什么会失败。我也尝试过node.findValue(“key2”)。我仍然得到 null。

谢谢

最佳答案

这两种方法有区别

  1. JsonNode.get() 方法返回 null
  2. 使用 JsonNode.path(String).asText() 检查节点是否存在或不是,如果不是则返回空字符串。

关于java - 调用 findValue 方法时 JsonNode 返回 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36043572/

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