在下面的JSON响应中,我需要为具有“ nationalityDecription”作为“ USA”的记录提取“ cid”。通过使用this query作为参考,我在空手道特征文件中使用了以下位置,但是第一行本身因语法错误而失败(尝试了不同的组合)。目前,我正在使用自定义javascript作为一种可行的解决方法。我需要帮助来检查语法中是否缺少任何内容。谢谢
回复:
{ “标题”:{ “ Id”:“ 12345678”, “ timeStamp”:“ 2018-09-17T10:09:812.000” }, “ dataRecords”:[ { “ cid”:“ 31H678”, “ cidMeta”:“ 00”, “国籍决定”:“中国” }, { “ cid”:“ 31S421”, “ cidMeta”:“ 01”, “国籍决定”:“美国” } ] }
功能文件:
* def record= $response.dataRecords[?(@.nationalityDecription=='USA')]
* def cid = record.cid
答案 0 :(得分:1)
* def response = { "header": { "Id": "12345678", "timeStamp": "2018-09-17T10:09:812.000" }, "dataRecords": [ { "cid": "31H678", "cidMeta": "00", "nationalityDecription": "CHINA" }, { "cid": "31S421", "cidMeta": "01", "nationalityDecription": "USA" } ] }
* def cid = get[0] response.dataRecords[?(@.nationalityDecription=='USA')].cid
* match cid == '31S421'