karate - 获取 JSON 密钥作为文本
问题描述
试图在空手道功能脚本中获取 json 键文本。
嗨,我是空手道新手,正在阅读空手道的所有文档。
当我收到GET
如下代码所示的响应时,我不确定响应将具有哪些所有键。所以每当响应中有关键文本domain_name
时,我想检索domain_code
{
"status":"SUCCESS",
"totalCount":1,
"statusCode":"OK",
"ResultData":{
"data":[
{"domain_code":"X3","domain_name":"BMW"},
{"domain_code":"Q5","domain_name":"AUDI"},
{"domain_code":"G450","domain_name":"LEXUS"}
]
}
解决方案
干得好。如果任何部分不清楚,请阅读文档,从 JsonPath 开始:
* def response =
"""
{
"status": "SUCCESS",
"totalCount": 1,
"statusCode": "OK",
"ResultData": {
"data": [
{"domain_code": "X3", "domain_name": "BMW" },
{"domain_code": "Q5", "domain_name": "AUDI" },
{"domain_code": "G450", "domain_name": "LEXUS" }
]
}
}
"""
* def data = get[0] response..data[?(@.domain_name)]
* def keys = karate.keysOf(data)
* keys.remove('domain_name')
* print keys[0]
推荐阅读
- python - 如何将jupyter notebook中的动图保存到pdf中?
- reactjs - Reactjs 使用带有 json 文件的 map func
- laravel - 如何发送每日电子邮件以显示新注册用户 - Jetstream - Laravel 8
- javascript - React Native - 将状态传递到另一个屏幕
- apache-zookeeper - 如何在永久丢失大多数服务器时重新获得 Zookeper 集群中的仲裁?
- python - Python烧瓶 - 当数据库更改产生时刷新html视图
- serverless-framework - serverless.yml 文件中无服务器插件的顺序应该是什么?
- r - 使用 Leaflet for R 时,如何更改 OpenStreetMap 底图的字体大小?
- python - 方法链接中使用的类型提示混合
- java - spring mvc中的@DateTimeFormat模式或jackson日期格式不起作用