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

API网关响应映射无法访问JSON嵌套子对象问题求解

问题根因

映射规则失效的核心原因是API网关实际接收到的原始集成响应中,最外层output字段是转义后的JSON字符串,不是可直接通过JSONPath读取属性的结构化对象。
你在API网关控制台测试端点时看到的嵌套JSON结构,是控制台自动对字符串类型的output做了反序列化后的可视化展示,并非映射模板实际接收到的原始数据结构。
之前尝试$util.parseJson、$util.escapeJavaScript未生效,本质是字段取值路径错误:没有先准确拿到最外层的字符串值就做解析/转义操作,自然无法读取到内部嵌套属性。你之前写$inputRoot.output返回no data也是同样原因:$input.path("$.output")拿到的是字符串类型值,字符串不存在output属性,模板引擎读取空值就会返回无数据结果。

解决方案

直接将集成响应映射模板替换为以下内容即可,不需要修改后端配置:

## 提取最外层output字段的原始字符串值
#set($rawOutput = $input.path('$.output'))
## 将JSON字符串反序列化为可操作的结构化对象
#set($parsedData = $util.parseJson($rawOutput))
## 输出内部嵌套的output对象内容
$parsedData.output
配置注意事项
  • 提取最外层字段时不要写多余路径层级,原始响应最外层仅存在output一个键,$.output即可准确拿到完整转义字符串
  • 不要对解析完成后的结构化对象调用$util.escapeJavaScript方法,该方法仅适用于字符串转义场景,处理JSON对象会直接破坏结构
  • 配置完成后接口将直接返回你需要的目标结构:
{
  "errorCode": "my code",
  "message": "my message"
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 22:01:06