在请求的响应中我有以下内容:
"comp":[
{
"type":"header",
"version":1,
"settings":
{"logo":"mylogo",
"logoPosition":"left",
"inverseLogosPosition":false,
"headerTitle":"My Report",
"headerTitlePosition":"left",
"pageBreak":false
}
},
我想断言设置的内容。 例如,我尝试这样做来断言 logoPosition = "left"
断言 json.components.settings[0].logoPosition[0] == "left"
它不工作
这部分运行良好:
assert json.comp.type[0] == "header"
assert json.comp.version[0] == 1
请大家帮忙,谢谢
最佳答案
提供的 json 无效。您可以使用两个路径:
assert slurped.comp.settings.logoPosition[0] == "left"
assert slurped.comp[0].settings.logoPosition == "left"
完整示例:
import groovy.json.JsonSlurper
def json = '''{
"comp":[
{
"type":"header",
"version":1,
"settings": {
"logo":"mylogo",
"logoPosition":"left",
"inverseLogosPosition":false,
"headerTitle":"My Report",
"headerTitlePosition":"left",
"pageBreak":false
}
}
]}'''
def slurped = new JsonSlurper().parseText(json)
assert slurped.comp.settings.logoPosition[0] == "left"
assert slurped.comp[0].settings.logoPosition == "left"
关于groovy - 如何使用groovy断言json响应内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28122119/