如何通过从空手道中的 API 中提取响应来制作 JSON 数组
How to make JSON array by extracting response from API in Karate
我想提取一些值并以 JSON 格式存储在数组中。
我的代码在 karate-config.js 文件中,因为我调用的 API 只需要调用一次,结果需要存储在数组中,以便稍后在内部使用其他功能。
var result = karate.callSingle('classpath:examples/users.feature@country',config);
config.array = []
for (var i=0; i<result.response.length; i++){
config.array.push({ 'userId': result.response[i].id, 'country': result.response[i].country});
}
karate.log(config.array)
结果
[object Object],[object Object]
预期结果
[
{
"userId" : 931,
"country" : "USA"
},
{
"userId" : 709,
"country" : "HK"
}
]
即使日志这样显示,数据也可能没问题 - JSON 在 JS 中与空手道的其余部分和 Java 相比存在一些限制。
只需添加一个转换:
config.array = karate.toJava(config.array);
如果它不起作用,则可能是空手道中的错误,欢迎您贡献修复。
我想提取一些值并以 JSON 格式存储在数组中。
我的代码在 karate-config.js 文件中,因为我调用的 API 只需要调用一次,结果需要存储在数组中,以便稍后在内部使用其他功能。
var result = karate.callSingle('classpath:examples/users.feature@country',config);
config.array = []
for (var i=0; i<result.response.length; i++){
config.array.push({ 'userId': result.response[i].id, 'country': result.response[i].country});
}
karate.log(config.array)
结果
[object Object],[object Object]
预期结果
[
{
"userId" : 931,
"country" : "USA"
},
{
"userId" : 709,
"country" : "HK"
}
]
即使日志这样显示,数据也可能没问题 - JSON 在 JS 中与空手道的其余部分和 Java 相比存在一些限制。
只需添加一个转换:
config.array = karate.toJava(config.array);
如果它不起作用,则可能是空手道中的错误,欢迎您贡献修复。