首页 > 解决方案 > 获取 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"}
    ]
}

标签: karate

解决方案


干得好。如果任何部分不清楚,请阅读文档,从 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]

推荐阅读