【java/json】取JsonNode的属性节点

【数据来源json文】

复制代码
{
  "name" : "node-1",
  "cluster_name" : "twins",
  "cluster_uuid" : "_na_",
  "version" : {
    "number" : "7.11.0",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "8ced7813d6f16d2ef30792e2fcde3e755795ee04",
    "build_date" : "2021-02-08T22:44:01.320463Z",
    "build_snapshot" : false,
    "lucene_version" : "8.7.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
复制代码

【要达成的目标】

将version下的属性挨个遍历,把名称和值都打印出来。

【程序】

复制代码
        RestTemplate restTemplate = new RestTemplate();
        String json = restTemplate.getForObject("http://192.168.245.128:9200/",String.class);

        ObjectMapper mapper = new ObjectMapper();
        JsonNode root = mapper.readTree(json);
        JsonNode versionNode=root.get("version");

        Iterator<Map.Entry<String,JsonNode>> it=versionNode.fields();
        while(it.hasNext()){
            Map.Entry<String,JsonNode> entry=it.next();

            String line=String.format("%-50s%10s",entry.getKey(),entry.getValue().asText());
            System.out.println(line);
        }
复制代码

注意上面粗体字部分。

【打印结果】

复制代码
number                                                7.11.0
build_flavor                                         default
build_type                                               tar
build_hash                                        8ced7813d6f16d2ef30792e2fcde3e755795ee04
build_date                                        2021-02-08T22:44:01.320463Z
build_snapshot                                         false
lucene_version                                         8.7.0
minimum_wire_compatibility_version                     6.8.0
minimum_index_compatibility_version               6.0.0-beta1
复制代码

【源码下载】

 https://files.cnblogs.com/files/heyang78/ObjectMapper_JsonNode_Resttemplate_220301.zip?t=1646142327

END

posted @   逆火狂飙  阅读(848)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2016-03-01 配置Tomcat6的管理用户
2016-03-01 在CentOS6.5上安装Tomcat6
2016-03-01 转载:如何运用VI编辑器进行查找替换
2016-03-01 打开Apache自带的Web监视器
2016-03-01 查看CentOS上Apache位置,版本,停止,启动
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东
点击右上角即可分享
微信分享提示