karate - 空手道不支持 JSON 路径
问题描述
我有一个 JSON 路径,比如 $[advertiserId] 并且计算结果为
[
"001E000000yBFskIAG"
]
使用工具https://jsonpath.com/?.
但是,等效的空手道语法不起作用:
并匹配 response[*].advertiserId == '001E000000yBFskIAG'
它不识别这条路径。
如果我有 JSON:
{
"advertiserId":"someID"
}
然后
并匹配 response[*].advertiserId == 'someID'
应该管用。空手道应该能够支持基本的 JSON 匹配。
解决方案
空手道更严格 - 如果有 JsonPath “通配符”,例如*
,或者..
结果将始终是一个数组。也许 jsonpath.com 将单个元素数组转换为方便的值 - 但我们永远不会这样做。
以下作品:
* def response = [{ advertiserId: '001E000000yBFskIAG' }]
* match response[*].advertiserId == ['001E000000yBFskIAG']
推荐阅读
- python - 为什么 os.system('cls') 打印 0
- c++ - 如何删除冗余输入?
- ios - 旋转 ARKIT 模型
- node.js - FaunaDB 中的“由于检测到并发修改而中止事务”
- javascript - 我有一个 AJAX 发布请求,我的 spring 控制器应该如何
- docker - Horovod 弹性调整运行时的工人数量
- php - Symfony 3.4 将自动生成代理类配置模式放在哪里?
- python - python thrift 依赖项在 python2 中有效,但在 python3 中无效
- android - 无法使用 WebChromeClient 播放 DRM 内容
- node.js - Nginx + nodejs,socket.io 用于 https 的 dosnt 工作