You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Karate:如何将两个数组合并为指定格式的JSON对象/映射?

合并数组生成指定映射的解决方案

你可以借助Karate的内置方法快速完成两个数组的配对与合并,以下是具体实现方式:

方法一:基于已生成的map1、map2合并

利用karate.zip()将两个数组按索引配对,再通过map遍历每一对元素,合并成包含目标字段的对象:

* def array1 = ['a','b']
* def array2 = [1,2]
* def map1 = karate.mapWithKey(array1, 'firstparam')
* def map2 = karate.mapWithKey(array2, 'secondparam')
// 合并对应索引的对象
* def combined = karate.zip(map1, map2).map(pair => Object.assign({}, pair[0], pair[1]))

方法二:直接基于原始数组处理(更简洁)

跳过中间的map1、map2步骤,直接对原始数组配对并生成目标结构:

* def array1 = ['a','b']
* def array2 = [1,2]
* def combined = karate.zip(array1, array2).map(pair => ({ firstparam: pair[0], secondparam: pair[1] }))

调用目标Feature文件

如果需要逐个将合并后的对象传递给Feature文件并收集结果,可以使用循环遍历:

* def result = []
* karate.forEach(combined, item => result.push(karate.call('target.feature', item)))

如果是将整个数组作为参数传递,直接传入combined即可,后续在目标Feature中按需处理数组内容。

内容的提问来源于stack exchange,提问作者Snehith tammewar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 19:50:23