Logic Apps比较Dataverse与Excel数据时统一替换null与空字符串方案咨询
解决方案
方案1:全局JSON字符串替换(无需逐个处理字段,操作最少)
这是最适配你场景的处理方式,直接对整组输出的JSON做全局替换,不需要关心字段数量:
- 针对需要统一格式的数组输出(Dataverse输出/Excel输出均可),新增一个
Compose操作 - 根据你要统一的目标格式填入对应表达式:
- 目标统一为空字符串"":将所有值为"null"的字段替换为"",表达式为:
json(replace(string(替换为你的源输出动态内容), '": "null"', '": ""')) - 目标统一为字符串"null":将所有值为""的字段替换为"null",表达式为:
json(replace(string(替换为你的源输出动态内容), '": ""', '": "null"'))
- 目标统一为空字符串"":将所有值为"null"的字段替换为"",表达式为:
- 后续比对直接使用这个Compose的输出即可,两组数据的空值格式会完全一致。
示例效果
以你给出的Dataverse输出为例,替换后的结果为:
[ { "name": "john", "last": "doe", "address": "" } ]
和Excel输出格式完全匹配,可直接用于比对。
方案2:属性遍历替换(避免误替换业务字段内容)
如果你的业务字段中有可能出现值为"null"的正常内容,可以用该方案更精准的处理:
- 新增
Select操作,输入为你的源数组输出 - 切换Map的输入模式为文本输入,填入以下表达式:
@json(replace(string(item()), '": "null"', '": ""')) - 该操作会逐行处理数组中的每个对象,仅替换键值对中值为"null"的部分,不会影响字段内容中包含的"null"字符串。
内容的提问来源于stack exchange,提问作者sjaak
相关产品推荐
相关产品推荐

