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

如何在Karate框架中遍历带转义字符的JSON获取applicationNumber

在Karate框架中提取带转义字符JSON里的applicationNumber值

如果你的JSON是带转义的字符串格式(比如接口返回的是转义后的JSON文本,而非直接的JSON对象),核心是先把转义字符串解析成Karate能识别的JSON对象,再提取字段。以下是具体实现方案:

示例代码

场景1:转义JSON存储在变量中

# 模拟带转义的JSON字符串
* def escapedJson = "{\"applications\": [{\"applicationNumber\": \"17277238\", \"status\": \"approved\"}, {\"applicationNumber\": \"17277239\", \"status\": \"pending\"}]}"
# 把转义字符串解析为JSON对象
* def parsedJson = karate.fromString(escapedJson)

# 提取单个指定值(比如第一个申请编号)
* def targetAppNum = parsedJson.applications[0].applicationNumber
* print "目标申请编号:", targetAppNum

# 遍历所有applicationNumber并打印
* karate.forEach(parsedJson.applications, function(item){
    print "申请编号:", item.applicationNumber
})

场景2:转义JSON是接口响应体

Given url "你的接口地址"
When method get
Then status 200

# 解析响应体中的转义JSON字符串
* def parsedJson = karate.fromString(response)

# 直接打印所有applicationNumber
* print "所有申请编号:", parsedJson.applications[*].applicationNumber

常见问题说明

你之前用SET、Print没成功,大概率是因为没处理转义字符串——直接操作转义后的文本(本质是字符串)无法通过.或索引访问JSON字段,必须先用karate.fromString()把它转成JSON对象才行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 08:20:27