如何动态删除空手道中的json密钥?

2024-02-08

我正在尝试根据条件删除一些 json 键。下面没起作用

 * def body
 * if (condition == 'true') remove body.path1.path2.key
(or)
 * def body = (condition == 'true')? (remove  body.path1.path2.key):body

我也不确定为什么下面的代码给出错误

* def json = { a: 1,b:2 }
* def key = 'b'
* karate.remove('json', key)

Error: 评估(js)失败:karate.remove('json',key),java.lang.RuntimeException:意外路径:b


这会起作用:

* def json = { a: 1, b: 2 }
* def key = 'b'
* if (true) karate.remove('json', key)
* match json == { a: 1 }

So remove是空手道关键字,因此与 JS 混合时不起作用。

但是JS引擎在1.0以后就会支持JSdelete关键词。所以你现在可以做这样的事情:

* def json = { a: 1, b: 2 }
* def key = 'b'
* if (true) delete json[key]
* match json == { a: 1 }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何动态删除空手道中的json密钥? 的相关文章

随机推荐