我有一个 API,其响应不是单个 JSON 对象,而是多个 JSON 对象,例如 -
{"a": 1, "b": 2, "c": 3}
{"a": 4, "b": 5, "c": 6}
由于响应不是有效的 JSON,因此我在访问空手道报告摘要中的 API 调用响应时看到解析错误。我仍然可以使用屏幕截图中所示的打印语句访问响应(我已从屏幕截图中编辑了实际的调用/请求)
有没有办法处理此类响应或按原样返回响应而不是错误?
看起来您正在处理 JSONL。
当解析为 JSON 失败时,
responseBytes
变量将始终可用。所以你可以这样做:
* string data = responseBytes
以下是如何转换为 JSON 数组:
* text data =
"""
{"a": 1, "b": 2, "c": 3}
{"a": 4, "b": 5, "c": 6}
"""
* def response = data.split('\n').map(x => karate.fromString(x))