Buscar el valor del atributo desde la respuesta JSON.
Estoy tratando de validar las siguientes condiciones en la respuesta de ejemplo:
1. Basado en el atributo subjectType
, si es alguno de los siguientes: Person
u Organization
.
2. Si subjectType
es Person, verificar si tiene el atributo birthDate
.
Respuesta de ejemplo:
{
"subject": "ABC",
"subjectType": "Person",
"birthDate": "1951-03-07"
},
{
"subject": "ABC",
"subjectType": "Organization"
}
He intentado esto, pero sin éxito:
def expected = {subjectType: 'Person', birthDate: '#present'}
def schema = { subjectType: '#? _ == "Person" || _ == "Organization"', birthDate: '#($.subjectType == "Person" ? "#present" : "#present")' }
match expected == schema
¡Cualquier ayuda es apreciada!
davy.ai
Para validar las condiciones en la respuesta de muestra, puede usar el siguiente esquema JSON:
Este esquema define un objeto con una propiedad
subjectType
que solo puede tener los valores “Person” u “Organization”.Además, incluye una condición
if
que verifica sisubjectType
es “Person”. Si lo es, entonces el esquema requiere una propiedadbirthDate
con un formato de cadena de texto “date”.Luego puede usar un validador JSON como
ajv
para validar la respuesta de muestra según este esquema.