【问题标题】:How do I append JSON objects in Logic Apps?如何在逻辑应用中附加 JSON 对象?
【发布时间】:2021-06-24 18:05:42
【问题描述】:

我们有一条传入的 JSON 消息,并希望在原始消息中添加一些额外的 JSON 数据(带有一些字段的 JSON 对象)。如何将 JSON 对象“GlossDef”添加到下面列出的位置?

{
   "glossary":{
      "title":"example glossary",
      "GlossDiv":{
         "title":"S",
         "GlossList":{
            "GlossEntry":{
               "ID":"SGML",
               "SortAs":"SGML",
               "GlossTerm":"Standard Generalized Markup Language",
               "Acronym":"SGML",
               "Abbrev":"ISO 8879:1986",
***            "GlossDef":{
***              "para":"A meta-markup language, used to create markup languages such as DocBook.",
***               "GlossSeeAlso":[
***                  "GML",
***                  "XML"
***               ]
***            },
               "GlossSee":"markup"
            }**
         }
      }
   }
}

【问题讨论】:

    标签: json azure json.net azure-functions azure-logic-apps


    【解决方案1】:

    查看表达式选项卡中的“addProperty”方法。这是 powerusers 平台上关于此的一个问题。

    https://powerusers.microsoft.com/t5/Building-Flows/How-to-add-a-new-property-to-an-object-type-variable-in-Apply-to/td-p/155685

    我在一个测试示例中通过以下步骤对其进行了验证:

    第 1 步 - 这是您从中获取它的初始对象。
    第 2 步 - 这只是使用要添加的对象初始化变量,您可能必须以某种动态方式执行此操作,但概念仍然相同。
    第 3 步 - 解析第 1 步中的对象,以便我们可以提取要附加到的子对象。
    第 4 步 - 在这种情况下提取子对象,我们将从解析 json 的动态内容列表中选择“GlossEntry”。
    第 5 步 - 使用 compose,使用表达式选项卡并使用“appProperty”将“ObjectToAdd”添加到“ChildObject”中。看起来像这样:addProperty(variables('ChildObject'), 'GlossDef', variables('ObjectToAdd'))

    这应该会让你走上正确的道路。

    【讨论】:

    • 谢谢!如何将 Compose(步骤 5)的结果合并回步骤 1?我想要完整的 json 对象。
    • 您基本上会跳过第 4 步并更新第 5 步,使其指向第 4 步正在执行的对象。然后你仍然拥有整个对象。
    • 阅读开始输入时 addProperty 的工作原理以及要传入的参数。addProperty( '{parentObject}', '{objectNameAsString}', '{childObjectToAdd}') 所以在你的情况下,addProperty(variables('FullJsonMessage')['GlossEntry'], 'GlossDef', variables('ChildObjectToAdd'))
    猜你喜欢
    • 1970-01-01
    • 2022-09-29
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 2012-08-06
    • 2023-03-03
    • 2020-04-24
    • 1970-01-01
    相关资源
    最近更新 更多