【數據來源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