当存在嵌套JSON';答案是什么
从一个响应中,我提取了这样一个子集当存在嵌套JSON';答案是什么,json,karate,Json,Karate,从一个响应中,我提取了这样一个子集 { "base": { "first": { "code": "1", "description": "Its First" }, "second": { "code": "2", "description": "Its Second" }, "default": { "last": { "code": "last", "de
{
"base": {
"first": {
"code": "1",
"description": "Its First"
},
"second": {
"code": "2",
"description": "Its Second"
},
"default": {
"last": {
"code": "last",
"description": "No"
}
}
}
}
如果我需要使用和match X contains进行单个验证来检查
我不是在每次验证中都使用json路径,而是尝试提取一个特定部分并对其进行验证。如果没有嵌套的json路径,我可以使用和match X contains轻松完成,但是当存在嵌套的json时,我无法完成。这是否适用于您:
* def first = get[0] response..first
* match first.code == '1'
* def last = get[0] response..default.last
* match last.code == 'last'
编辑:ok看起来您希望尽可能地压缩成一行,更重要的是能够在嵌套节点中执行包含的操作。就我个人而言,我觉得这有时不值得费心,但事情是这样的
也可参考以下捷径:
嗯,我想我的问题有点不同。
例如,如果我使用json路径直接指向第一个,并将其保存到变量savedResponse中,我可以执行此验证
And match savedResponse contains {code: "1"}
如果在first下有10个键值组合,并且如果我需要验证其中的6个键值组合,那么我可以使用相同的json路径,并且可以使用match contains轻松完成
类似的方法是,如果我将上述响应保存到变量savedResponse中,我将如何使用match contains验证多个内容。下面的语句无论如何都不起作用
And match savedResponse contains {first:{code:"1"}, last:{code:"last"}}
但是,如果我修改了一些东西,它会工作吗 编辑我的答案,我想这就是你要找的?
And match savedResponse contains {first:{code:"1"}, last:{code:"last"}}