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

如何在Karate框架中提取API响应生成符合要求的JSON数组

你遇到的日志输出异常是因为karate.log直接打印对象数组时,默认调用了对象的toString()方法,并非数组存储逻辑出错。你可以按下面的方案调整代码,同时实现「正确打印格式」和「更符合Karate最佳实践的数组转换」:

调整后代码

var result = karate.callSingle('classpath:examples/users.feature@country', config);
// 使用Karate内置的map方法简化数组转换,替代手写for循环
config.array = karate.map(result.response, function(item) {
  return { userId: item.id, country: item.country };
});
// 用karate.toJson将对象转成格式化JSON字符串再打印
karate.log(karate.toJson(config.array, true));

修改说明

  • karate.map是Karate官方提供的数组遍历转换工具,相比手写for循环语法更简洁,也能避免JS语法兼容问题
  • karate.toJson方法支持将JS对象转为JSON字符串,第二个参数传入true会自动开启格式化缩进,输出你需要的带换行、缩进的JSON结构
  • 即使不修改日志打印逻辑,只要数组赋值逻辑正确,config.array本身已经可以正常被其他feature文件调用读取属性,调整打印逻辑仅用于方便调试查看内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 01:57:00