azure-logic-apps - 逻辑应用将 "null"替换为 "",反之亦然

标签 azure-logic-apps

我正在尝试将 dataverse 中的数据与 Excel 文件进行比较,以查看 dataverse 行是否需要更新。

我对 dataverse 中的每个项目使用 compose,并结合使用 compose、json 解析和 select 来创建两个输出值,我可以比较它们是否匹配。我必须这样做,因为据我所知,逻辑应用程序没有比较数据的合理方法。

输出按预期工作,唯一的问题是 dataverse 中没有值的字段显示为“name”:“null”,而没有值的 Excel 数据显示为“name”:“”,这导致我进行比较失败。

是否可以轻松地将所有“null”或“”替换为“”或“null”?

Dataverse“输出”示例

[
  {
    "name": "john"
    "last": "doe"
    "address": "null"
  }
]

Excel“输出”示例

[
  {
    "name": "john"
    "last": "doe"
    "address": ""
  }
]

实际数据有更多的字段,所以我更愿意以某种方式查看整个“输出”并匹配任何“”或“null”并将其替换为某些内容,而不是逐一遍历每个可能的字段一个。

最佳答案

我找到了一个“解决方案”。

if(empty(items('myAction')?['myActionField']), '', items('myAction')?['myActionField'])

这会检查该字段是否为空。如果其为空,则分配值“”,从而创建一个(空)字符串类型字段。如果不为空,则应用原始值。

缺点是这不可能非常有效,并且您必须对每个字段执行此操作,因此如果您有很多字段,则需要花费大量时间。就我而言,我“仅”有 30 个左右,所以它仍然在某种程度上是可以管理的。

更好的方法是,如果您可以循环遍历“值”数组并一次性删除/转换所有空值。或者创建一个映射来告诉逻辑应用字段的字段类型。但我不知道这是否可能。

关于azure-logic-apps - 逻辑应用将 "null"替换为 "",反之亦然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69909822/

相关文章:

azure - 通过将新行插入(添加)到 SQL Server 数据库表中来触发 Azure Function

azure - 逻辑应用 "Get file Content"Sharepoint 连接器对于超过 20MB 的文件超时

json - Azure 逻辑应用解析 Json 引发错误

arrays - 如何循环遍历逻辑应用程序中的数组?

azure - 如何使用 PowerShell 检索逻辑应用工作流设置?

azure - 逻辑应用的 IP 白名单

azure - 使用 Azure 逻辑应用程序的 SQL 连接器我想获取插入的行 ID

azure - 在azure逻辑应用程序中阅读附件时如何比较电子邮件附件扩展名?

azure - 有没有办法从workflow_Id获取逻辑应用程序名称?

使用 Until 条件的 Azure 逻辑应用 API 分页