Groovy - 如何检查是否存在json密钥

时间:2017-04-24 17:03:38

标签: json rest groovy soapui

我正在创建一个REST模拟,它将接收JSON请求作为输入:

{  
     "infoSimIn":{
        "idenficationSim":[ 
            { 
                "imsi":123456789012345
            }
          ]
       } 
}

如何在返回相应的响应之前检查我的JSON是否包含imsi密钥?

谢谢你..

1 个答案:

答案 0 :(得分:2)

以下是显示json

中是否存在imsi的脚本
def str = """
{  "infoSimIn":{
        "idenficationSim":[ 
            { 
                "imsi":123456789012345
            }
          ]
       } 
}"""
def json = new groovy.json.JsonSlurper().parseText(str)
def result = json.infoSimIn.idenficationSim.collect { it.keySet().contains('imsi')}[0]
assert result == true, 'json does not have imsi'

您可以在线快速查看 Demo

编辑:基于OP评论
改变自:

def str = ...
def json = new groovy.json.JsonSlurper().parseText(str)

def json = new groovy.json.JsonSlurper().parseText(mockRequest.requestContent)

编辑:基于OP的评论,它的运作方式不像op抱怨null

enter image description here

在模拟服务中:

enter image description here