【问题标题】:How to make JSON array by extracting response from API in Karate如何通过从空手道 API 中提取响应来制作 JSON 数组
【发布时间】:2021-09-17 18:39:24
【问题描述】:

我想提取一些值并以 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"
                    }
                ]

【问题讨论】:

    标签: karate


    【解决方案1】:

    即使日志显示这样,数据也可能没有问题 - JS 中的 JSON 与空手道和 Java 的其余部分相比存在一些限制。

    只需添加一个转换:

    config.array = karate.toJava(config.array);
    

    如果它不起作用,则可能是空手道中的一个错误,欢迎您提供修复。

    【讨论】:

    • 谢谢彼得。虽然格式不像我们在 JSON 中的格式,但这很有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-20
    • 2021-12-12
    • 1970-01-01
    相关资源
    最近更新 更多