【问题标题】:Azure logic apps: Nullable JSON values not available as dynamic contentAzure 逻辑应用:可空 JSON 值不可用作动态内容
【发布时间】:2021-04-27 13:49:45
【问题描述】:

我正在构建一个逻辑应用程序,它从 REST API 中提取一些 JSON 数据,使用 Parse JSON 块对其进行解析,并将其推送到 Azure Log Analytics。我遇到的主要问题是一个重要的 JSON 字段可以是对象也可以是 null。根据this 的帖子,我将我的 JSON 架构的相关部分更改为类似这样的内容

"entity": {"type": ["object", "null"] }

虽然这可行,但我现在不再将 entity 稍后在逻辑应用程序中作为动态内容访问。我可以访问逻辑中下游的 Parse JSON 块解析的所有其他字段(没有可为空的字段)。如果我删除“null”选项并将类型设置为object,我可以再次访问动态内容中的entity。有谁知道为什么会发生这种情况和/或如何访问下游的entity 字段?

【问题讨论】:

    标签: azure-logic-apps


    【解决方案1】:

    通过测试,如果我们使用"entity": {"type": ["object", "null"] },确实不能在dynamic content中直接选择entity

    但是我们可以使用下面的表达式来得到entity

    body('Parse_JSON')?['entity']
    

    测试结果好像没问题:

    为了更好的理解,让我再举几个例子:

    1.如果你的json是这样的:

    {
        "entity": {
            "testKey": "testValue"
        }
    }
    

    你的表情是这样的:

    body('Parse_JSON')?['entity'] 
    

    2.如果你的json是这样的:

    {
        "test": {
            "entity": {
                "testKey": "testValue"
            }
        }
    }
    

    你的表达应该是这样的:

    body('Parse_JSON')?['test']?['entity'] 
    

    【讨论】:

    • 成功了,谢谢!你必须这样做真的很烦人,我希望 Azure 能让你像往常一样选择它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-21
    • 2017-10-17
    相关资源
    最近更新 更多