在逻辑应用程序的 JSON 响应中获取 属性 的数组长度

Get the property's array length in JSON response in Logic Apps

我的 return 对于 API 调用始终是 JSON,无论是否在 属性 中有数据作为“值”。 一些数据的响应是这样的

{
  "value": [
    {
      "Name": "Whosebug",
      "Type": "Online",
      "count": 123,
      "location": [
        "USA",
        "CAN",
        "ENG",
        "AUS"
      ]
    }
  ]
}

如果没有响应,它看起来像这样

{
  "value": []
}

我尝试使用 length() 函数对“值”的响应使用空数组,但它的 returning 24 作为长度 length('api_response')

如何获取 value 的数组元素的长度,根据数组大小我可以决定下一步要做什么。

我怀疑您需要对字符串响应使用 Parse JSON 操作。

加载后,您可以使用我在下面使用的表达式来获得结果。关于你的例子,我一看就知道它的长度是1。

这是你需要的表达... length(body('Parse_JSON')?['value'])

如果数组为空,它仍然会产生0的正确结果。

如果我在数组中再虚拟一些项目(只是通过复制你拥有的那个),那么我会得到正确的答案。

{
  "value": [
    {
      "Name": "Whosebug",
      "Type": "Online",
      "count": 123,
      "location": [
        "USA",
        "CAN",
        "ENG",
        "AUS"
      ]
    },
    {
      "Name": "Whosebug",
      "Type": "Online",
      "count": 123,
      "location": [
        "USA",
        "CAN",
        "ENG",
        "AUS"
      ]
    },
    {
      "Name": "Whosebug",
      "Type": "Online",
      "count": 123,
      "location": [
        "USA",
        "CAN",
        "ENG",
        "AUS"
      ]
    }
  ]
}