Karate 如何在运行时在空手道中创建和传递或多或少的json负载

Karate 如何在运行时在空手道中创建和传递或多或少的json负载,karate,Karate,有时我必须通过以下有效载荷 { "code": "hhhh", "name": "NDS coupon Testing", "description": "NDS couopn testing via postman", "status": "ACTIVE", "comments": null, "rules": { "AND":[{ "rule":{

有时我必须通过以下有效载荷

{
   "code": "hhhh",
   "name": "NDS coupon Testing",
   "description": "NDS couopn testing via postman",
   "status": "ACTIVE",
   "comments": null,
   "rules": {
               "AND":[{
                                       "rule":{
                                       "operator" : "EQ",
                                       "status" : "ACTIVE",
                                       "attribute_name" : "HOTEL_ID",
                                       "attribute_value" : "12744",
                                       "attribute_value_type" : "INTEGER"
                                       }
                               }]        
}
}
有时会跟随有效载荷

{
   "code": "hhhh",
   "name": "NDS coupon Testing",
   "description": "NDS couopn testing via postman",
   "status": "ACTIVE",
   "comments": null,
   "rules": {
               "AND":[{
                                       "rule":{
                                       "operator" : "EQ",
                                       "status" : "ACTIVE",
                                       "attribute_name" : "HOTEL_ID",
                                       "attribute_value" : "12744",
                                       "attribute_value_type" : "INTEGER"
                                       }
                               }
{

              "AND" : [{"rule" : {

                       "status" : "ACTIVE",
                       "operator" : "EQUALS_LT"
                       "attribute_name" : "checkout",
                       "attribute_value" : "2018-12-31T00:00:00-05:30",
                       "attribute_value_type" : "DATE_TIME"
                      }

                 },]        
}
}
我的框架结构是
payload.json具有默认负载。现在在我的功能文件中,我加载payload.json设置我想要更新的值,但是如何在运行时添加/删除json的某些部分呢

有多种方法可以做到这一点。为了进一步阅读,我建议以下部分:

如果您花时间确保JSON格式良好,那就太好了。无论如何

* def json =
"""
{
  "code": "hhhh",
  "name": "NDS coupon Testing",
  "description": "NDS couopn testing via postman",
  "status": "ACTIVE",
  "comments": null,
  "rules": {
    "AND": [
      {
        "rule": {
          "operator": "EQ",
          "status": "ACTIVE",
          "attribute_name": "HOTEL_ID",
          "attribute_value": "12744",
          "attribute_value_type": "INTEGER"
        }
      },
      {
        "rule": {
          "status": "ACTIVE",
          "operator": "EQUALS_LT",
          "attribute_name": "checkout",
          "attribute_value": "2018-12-31T00:00:00-05:30",
          "attribute_value_type": "DATE_TIME"
        }
      }
    ]
  }
}
"""
* eval if (true) karate.remove('json', '$.rules.AND[1]')
* print json

这很好,因为我有两个规则,如果我有更多的规则块呢added@SourabhChapali阅读我发布的链接。有很多选择。您始终可以将JS函数与一个
开关盒
或多个
if-then
语句一起使用。非常感谢