else : Schema
else
SchemaWhen if is present, and the instance fails to validate against its subschema, then validation succeeds if the instance successfully validates against this keyword’s subschema.
| Value | 
                
                  This keyword must be set to a valid JSON Schema
                  Hint: Use the jsonschema metaschema and jsonschema lint commands to catch keywords set to invalid values
                
               | 
            
|---|---|
| Kind | Applicator | 
| Applies To | Any | 
| Base Dialect | Draft 7 | 
| Changed In | None | 
| Introduced In | Draft 7 | 
| Vocabulary | Validation | 
| Specification | https://json-schema.org/draft-07/draft-handrews-json-schema-validation-01#rfc.section.6.6.3 | 
| Metaschema | http://json-schema.org/draft-07/schema# | 
| Official Tests | draft7/if-then-else.json | 
| Default | 
                
                  
                    {}
                  
                
               | 
            
| Annotation | None | 
| Affected By | 
                
                  
  | 
            
| Affects | None | 
| Also See | 
                  
  | 
              
The else keyword restricts instances
to validate against the given subschema if the if sibling keyword failed to validate against the
instance.
Common Pitfall
This keyword has no effect if the if keyword is not declared within the same
subschema.
Best Practice
The if,
then, and else keywords can be thought of as imperative
variants of the anyOf keyword,
and both approaches are equally capable of describing arbitrary conditions.
Choose the one that more elegantly describes your desired
constraints.
Examples
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "if": { "multipleOf": 2 },
  "else": { "minimum": 0 }
}10-27-3"Hello World"{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "if": { "multipleOf": 2 },
  "else": { "title": "The value is an odd number" }
}76