java - jackson JSON : get node name from json-tree

如何使用 Jackson 从 JSON 树中接收节点名称? JSON 文件看起来像这样:

{  
    node1:"value1",
    node2:"value2",
    node3:{  
        node3.1:"value3.1",
        node3.2:"value3.2"
    }
}

我有

JsonNode rootNode = mapper.readTree(fileReader);

需要类似的东西

for (JsonNode node : rootNode){
    if (node.getName().equals("foo"){
        //bar
  }
}

谢谢。

最佳答案

对于 Jackson 2+ (com.fasterxml.jackson),方法略有不同:

Iterator<Entry<String, JsonNode>> nodes = rootNode.get("foo").fields();

while (nodes.hasNext()) {
  Map.Entry<String, JsonNode> entry = (Map.Entry<String, JsonNode>) nodes.next();

  logger.info("key --> " + entry.getKey() + " value-->" + entry.getValue());
}

关于java - jackson JSON : get node name from json-tree,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7653813/

相关文章:

c# - asp.net core 1.0 web api使用camelcase

java - 如何在 Java 中将 List 转换为 Json

javascript - 是否有任何将 json 转换为 url 参数的 native 函数?

json - Postgres JSON 数据类型 Rails 查询

java - 如何解析嵌套 JSON 结果中的动态 JSON 键?

javascript - 如何使用 JSON 数据填充选择框的选项?

c# - 在 C# 中将对象转换为 JSON 字符串

json - AngularJS:如何获取 JSON 对象的键

javascript - 遍历对象

java - 在 Spring Boot 中返回 JSON 对象作为响应