如何在 Logic App 中将 JSON 字段从一个数据源分配到另一个数据源

维克多·麦金太尔

我的逻辑应用程序中有两个不同的 JSON 数据:

资料一:

[
   {
      "EmployeeCode":"123",
      "Username":"abc"
   },
   {
      "EmployeeCode":"456",
      "Username":"def"
   }
]

数据2:

[
   {
      "EmployeeCode":"123",
      "Team":"IT"
   },
   {
      "EmployeeCode":"456",
      "Team":"Finance"
   }
]

我想生成这样的最终输出:

最终输出:

[
   {
      "EmployeeCode":"123",
      "Username":"abc",
      "Team":"IT"
   },
   {
      "EmployeeCode":"456",
      "Username":"def",
      "Team":"Finance"
   }
]

有没有一种简单的方法可以在 Logic App 本身中实现这一点?不使用 JavaScript 或 Azure Function 或任何东西?

SwethaKandikonda-MT

从我们这里复制后,我们如何能够实现您的要求。

首先,我们为每个数据使用了 2 Parse JSON 来提取 JSON 中的项目。

在此处输入图像描述

然后使用条件连接器来比较 EmployeeCode,然后使用 compose 连接器进行合并。

在此处输入图像描述

然而,为了使整个 JSON 用于将来的目的,我们已经初始化了一个数组变量,然后从条件连接器附加了成功的运行。这是我的逻辑应用程序。

在此处输入图像描述

结果:

在此处输入图像描述

下面是我的逻辑应用程序的代码视图

{
    "definition": {
        "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
        "actions": {
            "FinalJSON": {
                "inputs": "@variables('FinalJson')",
                "runAfter": {
                    "For_each": [
                        "Succeeded"
                    ]
                },
                "type": "Compose"
            },
            "For_each": {
                "actions": {
                    "For_each_2": {
                        "actions": {
                            "Condition": {
                                "actions": {
                                    "Append_to_array_variable": {
                                        "inputs": {
                                            "name": "FinalJson",
                                            "value": "@outputs('Compose')"
                                        },
                                        "runAfter": {
                                            "Compose": [
                                                "Succeeded"
                                            ]
                                        },
                                        "type": "AppendToArrayVariable"
                                    },
                                    "Compose": {
                                        "inputs": {
                                            "EmployeeCode": "@{items('For_each')['EmployeeCode']}",
                                            "Team": "@{items('For_each_2')['Team']}",
                                            "Username": "@{items('For_each')['Username']}"
                                        },
                                        "runAfter": {},
                                        "type": "Compose"
                                    }
                                },
                                "expression": {
                                    "and": [
                                        {
                                            "equals": [
                                                "@items('For_each')['EmployeeCode']",
                                                "@items('For_each_2')['EmployeeCode']"
                                            ]
                                        }
                                    ]
                                },
                                "runAfter": {},
                                "type": "If"
                            }
                        },
                        "foreach": "@body('Parse_JSON2')",
                        "runAfter": {},
                        "type": "Foreach"
                    }
                },
                "foreach": "@body('Parse_JSON1')",
                "runAfter": {
                    "Initialize_variable": [
                        "Succeeded"
                    ]
                },
                "type": "Foreach"
            },
            "Initialize_variable": {
                "inputs": {
                    "variables": [
                        {
                            "name": "FinalJson",
                            "type": "array"
                        }
                    ]
                },
                "runAfter": {
                    "Parse_JSON2": [
                        "Succeeded"
                    ]
                },
                "type": "InitializeVariable"
            },
            "JSON1": {
                "inputs": [
                    {
                        "EmployeeCode": "123",
                        "Username": "abc"
                    },
                    {
                        "EmployeeCode": "456",
                        "Username": "def"
                    }
                ],
                "runAfter": {},
                "type": "Compose"
            },
            "JSON2": {
                "inputs": [
                    {
                        "EmployeeCode": "123",
                        "Team": "IT"
                    },
                    {
                        "EmployeeCode": "456",
                        "Team": "Finance"
                    }
                ],
                "runAfter": {
                    "JSON1": [
                        "Succeeded"
                    ]
                },
                "type": "Compose"
            },
            "Parse_JSON1": {
                "inputs": {
                    "content": "@outputs('JSON1')",
                    "schema": {
                        "items": {
                            "properties": {
                                "EmployeeCode": {
                                    "type": "string"
                                },
                                "Username": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "EmployeeCode",
                                "Username"
                            ],
                            "type": "object"
                        },
                        "type": "array"
                    }
                },
                "runAfter": {
                    "JSON2": [
                        "Succeeded"
                    ]
                },
                "type": "ParseJson"
            },
            "Parse_JSON2": {
                "inputs": {
                    "content": "@outputs('JSON2')",
                    "schema": {
                        "items": {
                            "properties": {
                                "EmployeeCode": {
                                    "type": "string"
                                },
                                "Team": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "EmployeeCode",
                                "Team"
                            ],
                            "type": "object"
                        },
                        "type": "array"
                    }
                },
                "runAfter": {
                    "Parse_JSON1": [
                        "Succeeded"
                    ]
                },
                "type": "ParseJson"
            }
        },
        "contentVersion": "1.0.0.0",
        "outputs": {},
        "parameters": {},
        "triggers": {
            "manual": {
                "inputs": {
                    "schema": {}
                },
                "kind": "Http",
                "type": "Request"
            }
        }
    },
    "parameters": {}
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从JasperReports中的另一个数据源(JSON)访问字段的值?

如何从一个数据源读取对象并使用 spring 数据写入另一个数据源?

如何在PHP中将数据从一个数组附加到另一个数组

如何在php中将数据从一个数组存储到另一个数组

如何在提示查询中添加另一个数据源?

如何在Java中将数据从一个json对象传递到另一个对象?

在Tableau中将维度从一个数据源链接到另一个度量中的Measure

如何在 Django 中将数据从一个数据库传输到另一个数据库?

如何在Spark中将编辑从一个数据框合并到另一个数据框?

如何在MongoDB中将集合从一个数据库复制到另一个数据库

如何在熊猫中将值从一个数据框移动到另一个数据框?

如何在R中将变量标签从一个数据帧添加到另一个数据帧?

如何在演示文稿和另一个数据源之间平滑切换?

如何绘制 pd.Series 并使用来自另一个数据源的每个点的颜色?

如何在Java中将元素的值从一个数组列表分配和存储到另一个数组列表

如何在PHP中将一个数组值分配给另一个数组

如何在Bokeh,Python 3.6中的一个图中绘制多个数据源?

在Spring的单个事务中如何使用多个数据源(一个用于读取,另一个用于写入)?

在Swift中将数据源分离到另一个类

在SSIS的另一个查询中将查询/数据源的结果用作参数

如何在pyspark中将列从另一个数据框添加到一个数据框?

Delphi如何使用一个保存按钮保存3个数据源?

Pandas:如何根据信息的大小将信息从一个数据帧分配到另一个数据帧?

如何在Postgres中将某些表从一个模式复制到同一数据库中的另一个数据库,并保持原始模式?

如何在 springboot 中的一个数据源上连接到 2 个不同的模式

如何在jquery中将对象属性从一个数组对象推送到另一个数组对象?

如何从另一个数据帧中的JSON创建数据帧?

如何设置下一个和上一个表单将影响哪个数据源?

使用Logic App将数据从一个容器移动到另一个容器