6
다음 JSON이 주어지면 postal_code (long_name 또는 short_name)를 추출하고 싶습니다. 나는 JsonSlurper를 변수에 넣고 find/contains/etc를 사용하여 다양한 쿼리를 시도했다. "유형"에 "postal_code"가있는 노드를 가져 오지 만 알아낼 수는 없습니다. 어떤 도움이라도 대단히 감사합니다.Groovy JSON/GPath 쿼리
{
"results" : [
{
"address_components" : [
{
"long_name" : "Jefferson Ave",
"short_name" : "Jefferson Ave",
"types" : [ "route" ]
},
{
"long_name" : "North Newport News",
"short_name" : "North Newport News",
"types" : [ "neighborhood", "political" ]
},
{
"long_name" : "Newport News",
"short_name" : "Newport News",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Virginia",
"short_name" : "VA",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "United States",
"short_name" : "US",
"types" : [ "country", "political" ]
},
{
"long_name" : "23608",
"short_name" : "23608",
"types" : [ "postal_code" ]
}
],
"formatted_address" : "Jefferson Ave & Denbigh Blvd, Newport News, VA 23608, USA",
"geometry" : {
"location" : {
"lat" : 37.13852930,
"lng" : -76.52013079999999
},
"location_type" : "APPROXIMATE",
"viewport" : {
"northeast" : {
"lat" : 37.13987828029151,
"lng" : -76.51878181970848
},
"southwest" : {
"lat" : 37.13718031970851,
"lng" : -76.52147978029149
}
}
},
"types" : [ "intersection" ]
}
],
"status" : "OK"
}
@GaryWhite +1 요한이 말한대로, 여러 결과 나 우편 번호가있는 경우,이 작업을해야한다 :'목록 코드 =의 json.results.address_components * .findAll {it.types에서 '우편 _ 번호'}. flatten(). long_name' –