azure-logic-apps - Azure 逻辑应用:可空 JSON 值不可用作动态内容
问题描述
我正在构建一个逻辑应用程序,该应用程序从 REST API 中提取一些 JSON 数据,使用 Parse JSON 块对其进行解析,并将其推送到 Azure Log Analytics。我遇到的主要问题是一个重要的 JSON 字段可以是对象也可以是 null。根据这篇文章,我将 JSON 模式的相关部分更改为类似这样
"entity": {"type": ["object", "null"] }
虽然这可行,但我现在不再entity
在逻辑应用程序中作为动态内容进行访问。我可以访问逻辑中下游的 Parse JSON 块解析的所有其他字段(没有可为空的字段)。如果我删除“null”选项并将类型设置为object
,我可以entity
再次访问动态内容。有谁知道为什么会发生这种情况和/或如何访问entity
下游的字段?
解决方案
通过测试,如果我们使用"entity": {"type": ["object", "null"] }
,我们确实不能直接选择entity
in dynamic content
。
但是我们可以使用下面的表达式来获得entity
:
body('Parse_JSON')?['entity']
测试结果似乎没有问题:
为了更好地理解,让我再举几个例子:
1.如果你的json是这样的:</p>
{
"entity": {
"testKey": "testValue"
}
}
你的表情是这样的:
body('Parse_JSON')?['entity']
2.如果你的json是这样的:</p>
{
"test": {
"entity": {
"testKey": "testValue"
}
}
}
你的表达应该是这样的:
body('Parse_JSON')?['test']?['entity']
推荐阅读
- java - Jhipster 文件在导入 Eclipse 后抛出多个错误
- arm - 在 ARM 上的嵌入式 Linux 下使用 TPM
- c# - .Net Standard 中的 Activator.CreateInstance 替代重载
- ruby-on-rails - 问题:spree 显示基本身份验证,用户帐户无效
- c# - 如何更改 TreeView 的切换
- erlang - Emq mqtt 集群:Client Session 管理
- javascript - 如何在 redis 缓存中存储和更新数据库结果?
- html - 如何在 Javascript 函数中更改选取框标签的属性“scrollamount”?
- python - flask-mqtt:连接后 Mqtt 客户端立即断开连接
- webview - Facebook Messenger webview 不允许访问摄像头和音频