【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