空手道-比较json对象时出错

时间:2020-07-29 19:03:51

标签: json object match contains karate

我正在尝试将某些参数与json reposne匹配

我的实际反应就像

{
  "timestamp": 1595994767386,
  "country": "MH",

  "accessible_device_types": [
    {
      "name": "ESS Client",
      "raw_name": "ABC",
      "permission": 7,
      "permission_bits": {
        "INSTALL_LIMITED_RELEASE_SOFTWARE": true,
        "INSTALL_LATEST_SOFTWARE_ONLY": true,
        "INSTALL_SOFTWARE": true
      }
    },

在以下陈述中用于比较:

  • 匹配response.accessible_device_types包含[{“ raw_name”:“ ABC”}]

报告错误的原因:预期:{raw_name = ABC},原因:实际值不包含预期

  1. 看起来像没有引号的比较。为什么要去掉报价?任何建议
  2. 如何比较"INSTALL_SOFTWARE": true

1 个答案:

答案 0 :(得分:0)

2个选项:

to

这将在0.9.6.RC4以上版本中运行:

* def nameAbc = {"raw_name": "ABC"}
* match response.accessible_device_types contains '#(^nameAbc)'