如何在Azure Logic App中将变量设置为null值?
解决Logic App中设置变量为null的问题
我明白你现在遇到的困扰——在Logic App里想通过条件判断给变量设null值,但直接写null总是变成空字符串,没法正确传给CRM Endpoint对吧?这是因为Logic Apps的表达式引擎对直接的null处理有点特殊,咱们换个方式就能解决。
解决方案:用json('null')生成真正的JSON null
把你表达式里的null替换成json('null'),这样就能强制生成JSON格式的null值,而不是空字符串。修改后的代码如下:
"Set_variable_conditional_interchangability": { "type": "SetVariable", "inputs": { "name": "conditional_interchangability", "value": "@if(equals(items('For_each')?['IC_CODE'], '05'), 928350000, json('null'))" }, "runAfter": { "Set_variable_direction": [ "Succeeded" ] } }
为什么这样有效?
在Logic Apps中,直接写null会被表达式引擎解析为空值(也就是你遇到的""),而json('null')会明确告诉引擎生成一个标准的JSON null类型值。当你把这个变量传递给CRM Endpoint时,就能正确发送null,而不是空字符串了。
额外注意点
还要检查你的conditional_interchangability变量的类型设置:
- 如果之前把变量类型设成了String,那即使使用
json('null'),它也会被转换成字符串"null",这不是你想要的。 - 建议把变量类型设为Object,或者不指定类型(让Logic Apps动态推断),这样才能正确保留null的类型。
内容的提问来源于stack exchange,提问作者onefox
相关产品推荐
相关产品推荐

