【问题标题】:Updating Json Array in LogicApp在 LogicApp 中更新 Json 数组
【发布时间】:2019-09-11 19:43:02
【问题描述】:

我正在尝试更新逻辑应用中的一些 JSON。这是我的 JSON。

{
  "headers": [
    {
      "count": 0,
      "lookup": "PSI"
    },
    {
      "count": 0,
      "lookup": "Clean"
    }
  ]
}

在 for each 循环中,我正在尝试更新特定标头数组元素的属性 count

这是我正在做的 setproperty。

@setproperty(variables('colObj'), 'headers', setproperty(items('For_each'), 'count', 1))

目前,setproperty 只返回数组的一个元素,而不是整个数组。

我需要 set 属性来返回 headers 数组的所有元素并更新当前 foreach 项的 count 属性。

有人知道如何在逻辑应用中执行此操作吗?

【问题讨论】:

  • 任何进程?可以用我的方式得到输出吗?

标签: azure-logic-apps


【解决方案1】:

实际上,我们已经知道要在子对象中设置子属性,而是使用嵌套的setProperty() 调用。而items('For_each') 并不是json 数据的子部分,就像variables('colObj')['headers'][0]。如果您尝试再添加一个嵌套的setProperty(),它会说该数组不是对象,那么您的方式将只能得到一个子数组对象。

因此,如果您想获得完整的 json 对象,则必须添加一些操作来实现。也许你可以参考我的流程。

我使用 Parse_json 设置 json 数据,它应该是你的variables('colObj'),一个空对象变量,一个数组变量。

在 For_each 中使用setProperty(body('Parse_JSON'),'headers',setProperty(items('For_each'),'count',34)) 设置结果对象,然后将其附加到数组中。在 For_each 操作之后初始化一个新对象以获取您想要的对象并将其设置为setProperty(body('Parse_JSON'),'headers',variables('middle'))

这是运行详情。

【讨论】:

    猜你喜欢
    • 2020-12-01
    • 2017-07-21
    • 1970-01-01
    • 2022-01-04
    • 2021-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多