我有json响应,我解析它并查看其键集,如下所示。它只给了我3个键集。为什么它只生成3个键集的键值对?如何检索两个或更多级别的字段值?
Json看起来像这样(在content
变量中)
{
"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
}
我解析并做了一个像这样的密钥集检查:
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}]}]
如何获取其他字段的值impid
?
log.info(RespJson.get("impid"))
答案 0 :(得分:0)
将其解析为HashMap,其中JSONArray将被解析为内容映射中的列表。
RespJson.seatbid[0].bid[0].impid
应该给出第一个impid
的第一个bid
的第一个seatbid
。
记录并查看解析后的响应。