Karate 空手道-对无效的jsonpath引发异常
我有一个Json响应,如下所示。这里的区别是我的Json主体有一个数字作为父节点Karate 空手道-对无效的jsonpath引发异常,karate,Karate,我有一个Json响应,如下所示。这里的区别是我的Json主体有一个数字作为父节点 def response = """ { "22388043":[ { "firstName":"Romin", "lastName":"Irani", "phoneNumber":"408-1234567", "emailAddress":"romin.k.irani@gmail.com" } ] } """ 我想从响应体返回mob
def response =
"""
{
"22388043":[
{
"firstName":"Romin",
"lastName":"Irani",
"phoneNumber":"408-1234567",
"emailAddress":"romin.k.irani@gmail.com"
}
]
}
"""
我想从响应体返回mobileNumber属性值。在这个场景中,我的响应中没有该属性。所以这里我想得到一个空值
因此,当我使用*defmobile=$.22388043[0].mobileNumber时,我得到了以下错误
路径:$['22388043'][0]['mobileNumber']没有结果。
请对此提出建议。空手道确实为您提供了获取JSON密钥值的方法 希望此示例也能回答您的所有其他问题:
* def response =
"""
{
"22388043":[
{
"firstName":"Romin",
"lastName":"Irani",
"phoneNumber":"408-1234567",
"emailAddress":"romin.k.irani@gmail.com"
}
]
}
"""
* def id = karate.keysOf(response)[0]
* match id == '22388043'
* def person = response[id][0]
* match person contains { firstName: 'Romin', lastName: 'Irani' }
* match person.mobileNumber == '#notpresent'
我没有看到任何名为mobileNumber的属性,我想你指的是phoneNumber?在这个响应中,我没有mobileNumber属性。当该属性存在时,该值将返回。我遇到的问题是,当属性不存在时,我得到的是此错误,而不是空值*def mobileNum=karate.get($.22388043[0].mobileNumber”)