ajv-cli
ajv-cli copied to clipboard
Cannot use "constructor" as object property name
schema:
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "array",
"items": {
"type": "object",
"required": [ "answer" ],
"additionalProperties": false,
"properties": {
"answer": {
"type": "object",
"additionalProperties": false,
"properties": {
"constructor": {
"type": "object"
}
}
}
}
}
}
json
[
{
"answer": {
"constructor": {
"key": "value"
}
}
},
{
"answer": {}
}
]
The above json is deemed invalid. Both array entries should be valid, however ajv deems the last entry to be invalid: data/1/answer/constructor must be object
At first it seems like ajv treats the constructor property as a required property. However if I rename the property from constructor to constructor2 everything works as expected. (see Recording)
command: ajv validate -s schema.json -d data.json --spec=draft2020 --errors=text
version: [email protected]