我需要一些关于尝试从JSON响应中查找值列表的指导。
我有一个如下所示的JSON:
"reviewRatingCount": [
{
"id": 1,
"name": "xxx",
"value": x,
"percentage": 8.49
},
{
"id": 2,
"name": "xxx",
"value": x,
"percentage": 11.19
},
{
"id": 3,
"name": "xxx",
"value": x,
"percentage": 22.74
}
...
现在我已经进行了检查以确保' ReviewRatingCount'不等于null:
def reviewratingcount = json.reviewratingcount
assert reviewratingcount != null
我想要做的是确保这个评论中的ID' reviewRatingCount'等于1,2,3。所以实际上我希望它遍历reviewRatingCount中的id并确保所有id包含正确的值。这是如何在groovy脚本中应用的,所以我不仅可以将它应用于此示例,还可以应用于其他检查,例如' name'?
谢谢。
答案 0 :(得分:4)
无需迭代,请使用*
运算符:
import groovy.json.JsonSlurper
def json = '''{"reviewRatingCount": [
{
"id": 1,
"name": "Terrible",
"value": 214,
"percentage": 8.49
},
{
"id": 2,
"name": "Poor",
"value": 282,
"percentage": 11.19
},
{
"id": 3,
"name": "Average",
"value": 573,
"percentage": 22.74
}
]}'''
def slurped = new JsonSlurper().parseText(json)
assert slurped.reviewRatingCount*.id == [1, 2, 3]