【java/objectMapper】使用objectMapper解析elasticsearch返回的文本内容
【请求网址】
http://192.168.32.130:9200/moft/emp/_search?pretty
【返回的json】
{
"took" : 39,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 13,
"relation" : "eq"
},
"max_score" : 1.0,
"hits" : [
{
"_index" : "moft",
"_type" : "emp",
"_id" : "111",
"_score" : 1.0,
"_source" : {
"name" : "hy",
"age" : "25"
}
},
{
"_index" : "moft",
"_type" : "emp",
"_id" : "112",
"_score" : 1.0,
"_source" : {
"name" : "巴菲特",
"age" : "27"
}
},
{
"_index" : "moft",
"_type" : "emp",
"_id" : "113",
"_score" : 1.0,
"_source" : {
"name" : "比尔盖茨",
"age" : "29"
}
},
{
"_index" : "moft",
"_type" : "emp",
"_id" : "200",
"_score" : 1.0,
"_source" : {
"name" : "emp0",
"age" : "20"
}
},
{
"_index" : "moft",
"_type" : "emp",
"_id" : "201",
"_score" : 1.0,
"_source" : {
"name" : "emp1",
"age" : "21"
}
},
{
"_index" : "moft",
"_type" : "emp",
"_id" : "202",
"_score" : 1.0,
"_source" : {
"name" : "emp2",
"age" : "22"
}
},
{
"_index" : "moft",
"_type" : "emp",
"_id" : "203",
"_score" : 1.0,
"_source" : {
"name" : "emp3",
"age" : "23"
}
},
{
"_index" : "moft",
"_type" : "emp",
"_id" : "204",
"_score" : 1.0,
"_source" : {
"name" : "emp4",
"age" : "24"
}
},
{
"_index" : "moft",
"_type" : "emp",
"_id" : "205",
"_score" : 1.0,
"_source" : {
"name" : "emp5",
"age" : "25"
}
},
{
"_index" : "moft",
"_type" : "emp",
"_id" : "206",
"_score" : 1.0,
"_source" : {
"name" : "emp6",
"age" : "26"
}
}
]
}
}
【Code】
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.web.client.RestTemplate; import java.util.Iterator; public class Test2 { public static void main(String[] args) throws Exception{ RestTemplate restTemplate = new RestTemplate(); String json = restTemplate.getForObject("http://192.168.32.130:9200/moft/emp/_search",String.class); ObjectMapper mapper = new ObjectMapper(); // 获取根节点 JsonNode node = mapper.readTree(json); JsonNode listNode=node.get("hits").path("hits"); Iteratoriterator = listNode.elements(); while (iterator.hasNext()) { JsonNode student = iterator.next(); // 获取节点文本 String name=student.get("_source").get("name").asText(); System.out.println(name); } } }
【输出】
hy
巴菲特
比尔盖茨
emp0
emp1
emp2
emp3
emp4
emp5
emp6
END