【问题标题】:Azure Logic Apps HTTP response body to SQL rowAzure 逻辑应用 HTTP 响应正文到 SQL 行
【发布时间】:2019-12-05 13:38:44
【问题描述】:

问题涉及 Azure 逻辑应用程序以及如何在工作流中解析 JSON 数据以便将其存储到 sql 数据库中。

我在从 HTTP 请求接收的 JSON 数组中选择内容时遇到问题。正文不是空的,因为它在上一步输出中可见。我想将内容插入 SQL 数据库。 问题是如何从 parse_JSON Body 中选择特定内容?我应该在表达式字段中输入什么?

{
   "key":"value",
   "key1": {
        "key1.1":"value",
        "key1.2":"value"
     },
   "key2":"value"
},
{
   "key":"value",
   "key1":"value",
   "key2":"value"
}

【问题讨论】:

    标签: json azure syntax azure-sql-database azure-logic-apps


    【解决方案1】:

    首先你的json格式不对,假设应该是下面这样。

    [{
       "key":"value1",
       "key1": {
            "key1.1":"value2",
            "key1.2":"value3"
         },
       "key2":"value4"
    },
    {"key":"value",
       "key1":"value",
       "key2":"value"}]
    

    然后是关于parse_json,如果你的json格式是固定的,你可以使用Parse_json,大多数情况下你可以从动态内容中选择特定的属性。如果没有,您可以编写表达式来实现。喜欢从key1.1获取值,表达式应该是body('Parse_Json')[0]['key1']['key1.1']0是数组中的索引。

    如果格式不固定,只需使用Compose 操作,而compose 无法选择具有动态内容的属性,因此如果要获取key4 值,则表达式应为outputs('Compose')[1]['key4']

    这是我的测试结果。

    【讨论】:

    • 感谢您的回答!我设法通过使用代码视图窗口解决了这个问题。在那里我只是输入了“@items('For_each')?['key 1']?['key1.1']”。
    • @Mr. H,我在你的图片中看不到 for_each 动作。所以你需要循环获取值吗?
    猜你喜欢
    • 2019-08-09
    • 2019-01-14
    • 1970-01-01
    • 1970-01-01
    • 2016-11-08
    • 2017-01-21
    • 1970-01-01
    • 2021-11-04
    • 1970-01-01
    相关资源
    最近更新 更多