【问题标题】:Adding new key-value pair into json using karate使用空手道将新的键值对添加到 json 中
【发布时间】:2018-11-30 09:10:04
【问题描述】:

我的有效载荷如下所示:

{
  "override_source": "DS",
  "property_code": "0078099",
  "stay_date": "2018-11-26T00:00:00.000000",
  "sku_prices": [
  ],
  "persistent_override": false
}

有一个数组 dblist ["2","3"] ,它由 1 到 4 的数字组成。根据列表中存在的元素,我想将键值 {"sku_price":"1500","sku_code":"2"} 添加到我的有效负载中。我正在使用以下代码:

* eval if(contains("3",dblist)) karate.set('pushRatesFromDS.sku_prices[]','{ "sku_price": "1500","sku_code":"3" }')

当我执行我的功能文件时,我没有收到任何错误,但是键值不会添加到我的有效负载中。但是,如果我将此代码移动到一个新的功能文件并调用它,键值对就会添加到我的有效负载中。我的新功能文件中的代码如下:* set pushRatesFromDS.sku_prices[] = { "sku_price": "1500","sku_code":"2" }

【问题讨论】:

    标签: karate


    【解决方案1】:

    试试这个:

    * def foo =
    """
    {
      "override_source": "DS",
      "property_code": "0078099",
      "stay_date": "2018-11-26T00:00:00.000000",
      "sku_prices": [
      ],
      "persistent_override": false
    }
    """
    * eval karate.set('foo', '$.sku_prices[]', { foo: 'bar' })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-25
      • 1970-01-01
      • 2020-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多