如何在 Azure Logic App 中处理 json 中的空列或非必需列

How to handle null or Non required column in json in Azure Logic App

示例 api url: https://jsonplaceholder.typicode.com/posts

标题不是收到的必填字段json。它可能是也可能不是每条记录的一部分。

当记录中缺少此字段时,@{items('For_each')['title']} 将引发异常。

在这种情况下,我希望将 myVariable 的值设置为 'N/A'。我该怎么做?

因为你url数据都有标题,所以我用When a HTTP request is recived触发器测试得到json数据。

在这种情况下数据只能是这样:

{
    "userId": 1,
    "id": 2,

    "body": "xxxxx"
  }

不像下面的:

{
    "userId": 1,
    "id": 2,
    "title":,
    "body": "xxxxxxxxx"
  }

我用第一个测试,它确实显示了错误消息:属性 'title' 不存在,。所以这是我的解决方案,在操作 Set variable 之后,添加一个操作来设置您想要的变量,并在 Set variable 失败后设置操作 运行,如下图所示。

配置后,如果标题不存在,将设置为您想要的N/A

希望这对你有所帮助,如果这不是你想要的或者你有其他问题,请告诉我。

我假设这是一个数组,并且您在 HTTP 触发器中设置了架构。如果设置了模式,请确保将 Title 作为必填字段删除。

使用这些假设,您应该能够使用 Coalesce()

执行以下操作

如果 Title 现在不存在于 HTTP 请求的正文中,则 Title 将等于 'N/A'

使用邮递员测试,注意,结果是倒退的,因为它是我数组中发送的第一个对象。