如何在Invoke REST API返回的动态JSON响应中按Key查找对应值?
在Invoke REST API的动态JSON响应中按Key取值的方法
不用绕转XML的弯路,直接通过表达式语言就能实现动态Key取值,步骤如下:
- 保留
Invoke REST API步骤,获取目标JSON响应。 - 添加
Parse JSON步骤,选择通用模式(无需指定固定Schema),输入源为Invoke REST API返回的响应内容。这一步会把JSON字符串转换成可直接操作的对象。 - 定义一个变量(比如命名为
dynamicKey),用来存储你需要动态查找的Key值——这个变量可以从之前的步骤、请求参数等动态来源获取。 - 用表达式直接取值:
body('Parse_JSON')?[variables('dynamicKey')]- 这里的
?是安全访问符,防止目标Key不存在时流程报错,会返回null而非抛出异常。 - 如果目标Key在嵌套的JSON结构里,比如在
parent对象下,表达式可以写成body('Parse_JSON')?['parent']?[variables('dynamicKey')],按层级链式访问即可。
- 这里的
之前转XML再解析的方法行不通,是因为动态JSON转成XML后节点结构也会动态变化,而Parse XML依赖固定XSD来映射节点,没法适配动态场景,直接操作JSON对象才是更合适的方案。
内容的提问来源于stack exchange,提问作者Ferdinando
相关产品推荐
相关产品推荐

