Karate 使用空手道向json中添加新的键值对
我的有效载荷如下所示:Karate 使用空手道向json中添加新的键值对,karate,Karate,我的有效载荷如下所示: { "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价格”:“1500”,“sku代码”:“2”}添加到
{
"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价格”:“1500”,“sku代码”:“2”}
添加到我的有效负载中。我正在使用以下代码:
* eval if(contains("3",dblist)) karate.set('pushRatesFromDS.sku_prices[]','{ "sku_price": "1500","sku_code":"3" }')
当我执行我的功能文件时,我不会得到任何错误,但是键值不会添加到我的有效负载中。但是,如果我将此代码移动到一个新的特性文件并调用它,则键值对将添加到我的有效负载中。我的新功能文件中的代码如下所示:*set pushRatesFromDS.sku_prices[]={“sku_prices”:“1500”,“sku_code”:“2”}
尝试以下操作:
* 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' })