【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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM