Cloud Data Fusion:Conditional插件如何读取前置HTTP插件的响应字段?
解决Cloud Data Fusion Conditional插件读取HTTP响应的问题
核心问题
HTTP插件返回的JSON响应会被自动解析为结构化的Java对象,而非原始字符串,这导致你之前基于字符串的操作全部失效,甚至触发类型不匹配错误。
正确的判断逻辑
针对服务返回的两种响应结构,直接对解析后的字段做判断:
1. 区分两种响应的基础判断
用example字段是否为null来分支:
token['HTTP']['output']['example'] == null
- 返回
{"example":null}时,条件为true,走对应分支 - 返回包含
subfieldA的结构时,条件为false,走另一分支
2. 精准判断subfieldA是否存在
如果需要明确识别包含subfieldA的响应,可使用:
exists(token['HTTP']['output']['example']['subfieldA'])
该条件会在example对象存在且包含subfieldA字段时返回true。
错误方法的原因
- 正则匹配/长度判断:
token['HTTP']['output']是解析后的对象,不是字符串,字符串类操作自然不生效,始终返回false - 字符串对比:将结构化对象与字符串
"{'example':null}"直接对比,触发类型不匹配错误
内容的提问来源于stack exchange,提问作者ars_nei
相关产品推荐
相关产品推荐

