gpt4 book ai didi

azure - Azure 逻辑应用是否支持 JSON 架构验证中的 oneOf、anyOf

转载 作者:行者123 更新时间:2023-12-03 05:46:10 25 4
gpt4 key购买 nike

我尝试使用 ParseJSON 操作在逻辑应用程序中添加 JSON 架构验证。我想验证消息中任一对象是否存在(相当于 XSD 选择)。

例如,消息可能包含姓氏或姓氏。

{
"name": "Alan",
"familyname": "Turing"
}

或者

{
"name": "Alan",
"lastname": "Turing"
}

我将生成的架构修改为,

{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"oneOf": [
{
"lastname": {
"type": "string"
}
},
{
"familyname": {
"type": "string"
}
}
]
}
}

逻辑应用执行抛出以下错误

Logic App JSON oneOf

只是为了测试任何其他架构组合关键字是否有效,尝试使用 anyOf 代替 oneOf 进行测试,但执行也失败。

Logic App JSON anyOf

逻辑应用支持这些扩展验证吗?我在这里缺少一些特定的语法吗?

最佳答案

如果您要验证姓氏或姓氏是否存在,那么您缺少“必需”属性。

{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"oneOf": [
{
"familyname": {
"type": "string"
},
"required": [ "familyname" ]
},
{
"lastname": {
"type": "string"
},
"required": [ "lastname" ]
}
]
}

这将验证 JSON。如果您想在稍后的步骤中获取值,可以使用合并函数。

@coalesce(actionBody('Parse_JSON')?['familyname'], actionBody('Parse_JSON')?['lastname'])

关于azure - Azure 逻辑应用是否支持 JSON 架构验证中的 oneOf、anyOf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53701061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com