我正在尝试使用ParseJSON操作在Logic App中添加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执行抛出错误以下
仅测试是否有任何其他模式组合关键字有效,尝试使用 anyOf 代替 oneOf 进行测试,并且它也无法执行。
Logic Apps是否支持这些扩展验证?我在这里缺少某些特定的语法吗?
答案 0 :(得分:1)
如果您要验证姓氏或姓氏存在,那么您将缺少“必需”属性。
{
"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'])