0
json 응답을 구문 분석 한 결과 아래와 같이 해당 키셋을 살펴 보았습니다. 그것은 나에게 3 개의 키셋 만 준다. 키 - 값 쌍을 3 개의 키셋으로 만 만드는 이유는 무엇입니까? 둘 이상의 레벨이 내려간 필드의 값을 검색하려면 어떻게합니까?JsonSlurper - groovy로 json 2 레벨 구문 분석
이def RespSlurper = new JsonSlurper()
def RespJson = RespSlurper.parseText(content)
log.info(RespJson.keySet())
log.info(RespJson.values())
log.info(RespJson.get("seatbid"))
log.info
위의 응답이
Mon Jan 12 16:12:25 EST 2015:INFO:1
Mon Jan 12 16:12:25 EST 2015:INFO:[nbr, seatbid, cur]
Mon Jan 12 16:22:47 EST 2015:INFO:[0, [{group=0, bid=[{w=0, id=1, nurl=abc.com, price=3.5999999046325684, crid=30364.s320x50m, adomain=[zagg.com, zagg.com], impid=1, iurl=abc.com}]}], USD]
Mon Jan 12 16:22:47 EST 2015:INFO:[{group=0, bid=[{w=0, id=1, nurl=abc.com, price=3.5999999046325684, crid=30364.s320x50m, adomain=[zagg.com, zagg.com], impid=1, iurl=abc.com}]}]
입니다 :
JSON 내가 구문 분석과 같은 키 집합 체크를 한
{
"seatbid":[
{
"bid":[
{
"id":"1",
"impid":"1",
"price":3.5999999046325684,
"nurl":"abc.com",
"adomain":[
"zagg.com",
"zagg.com"
],
"iurl":"abc.com",
"crid":"30364.s320x50m",
"h":0,
"w":0
}
],
"group":0
}
],
"cur":"USD",
"nbr":0
}
(content
변수에있는) 다음과 같습니다
다른 필드의 값을 얻으려면 어떻게해야합니까? impid
?
log.info(RespJson.get("impid"))
답장을 보내 주셔서 감사합니다. 내 늦은 답장을 드려 죄송합니다.이 물건을 테스트하고있었습니다. 'seatbid [0] .bid [0] .impid'가'RespJson'에 동적으로 추가되면 어떻게'log.info'합니까? 나는 이것을하려고 노력했다. "RespNode ="RespJson "+". assertionKey "log.info (RespNode)'여기서'assertionKey'의 값은'seatbid [0] .bid [0] .impid'입니다. 'RespJson'에 동적으로 추가되었습니다. 'log.info (RespNode)'의 결과는'RespJson.seatbid [0] .bid [0] .impid'이며 값은 아닙니다. – user1207289
내 의견에 설명 된 문제를 해결 한이'Eval.me ('RespJson', RespJson, "def v = 'RespNode'")'및 다음에'log.info (v)'를 사용했습니다. – user1207289
실제로 위에서 추가 한 설명이 예상대로 작동하지 않습니다. 나는 아직도 대답을 찾고있다. – user1207289