使用JsonSlurper-groovy解析json 2级别
我对json响应进行了解析,并查看了它的键集,如下所示。它只给我3个按键。为什么它只生成3个键集的键值对?如何检索向下两级或两级以上字段的值 Json看起来像这样(在使用JsonSlurper-groovy解析json 2级别,groovy,groovyshell,Groovy,Groovyshell,我对json响应进行了解析,并查看了它的键集,如下所示。它只给我3个按键。为什么它只生成3个键集的键值对?如何检索向下两级或两级以上字段的值 Json看起来像这样(在contentvariable中) 我解析并执行了如下键集检查: def RespSlurper = new JsonSlurper() def RespJson = RespSlurper.parseText(content) log.info(RespJson.keySet()) log.info(RespJson.values
content
variable中)
我解析并执行了如下键集检查:
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"))
它被解析为一个HashMap,其中JSONArray将被解析为内容映射中的列表
RespJson.seatbid[0].bid[0].impid
应给出第一个impid
的第一个bid
的第一个座椅ID
记录并查看解析后的响应。感谢您的回复。很抱歉我回复晚了,我正在测试这个东西。如果
seirid[0].bid[0].impid
正在动态添加到RespJson
中,我如何log.info
。我尝试这样做def RespNode=“RespJson”+“+assertionKey
log.info(RespNode)
其中assertionKey
的值为seirid[0]。bid[0]。impid
动态添加到RespJson
。log.info(RespNode)
的结果是RespJson.seirId[0].bid[0].impid
而不是值。让它工作起来,使用这个Eval.me('RespJson',RespJson,“def v='$RespNode')
然后log.info(v)
解决了我在评论中解释的问题。实际上,我在上面添加的评论没有按预期工作。我仍然在寻找答案。
RespJson.seatbid[0].bid[0].impid