format : String

format

String

Define semantic information about a string instance.

Value This keyword must be set to a string, preferably one that is standardized by JSON Schema to ensure interoperability Hint: Use the jsonschema metaschema and jsonschema lint commands to catch keywords set to invalid values
Kind Annotation
Applies To String
Base Dialect Draft 7
Changed In Draft 3 Draft 4 Draft 6
Introduced In Draft 1
Vocabulary Validation
Specification https://json-schema.org/draft-07/draft-handrews-json-schema-validation-01#rfc.section.7
Metaschema http://json-schema.org/draft-07/schema#
Official Tests draft7/format.json
Default None
Annotation None
Affected By None
Affects None

The format keyword communicates that string instances are of the given logical type.

The supported formats are the following.

Format Category Specification
"date-time" Time JSON Schema Draft 7 Validation Section 7.3.1
"date" Time JSON Schema Draft 7 Validation Section 7.3.1
"time" Time JSON Schema Draft 7 Validation Section 7.3.1
"email" Emails JSON Schema Draft 7 Validation Section 7.3.2
"idn-email" Emails JSON Schema Draft 7 Validation Section 7.3.2
"hostname" Hostnames JSON Schema Draft 7 Validation Section 7.3.3
"idn-hostname" Hostnames JSON Schema Draft 7 Validation Section 7.3.3
"ipv4" IP Addresses JSON Schema Draft 7 Validation Section 7.3.4
"ipv6" IP Addresses JSON Schema Draft 7 Validation Section 7.3.4
"uri" Resource Identifiers JSON Schema Draft 7 Validation Section 7.3.5
"uri-reference" Resource Identifiers JSON Schema Draft 7 Validation Section 7.3.5
"iri" Resource Identifiers JSON Schema Draft 7 Validation Section 7.3.5
"iri-reference" Resource Identifiers JSON Schema Draft 7 Validation Section 7.3.5
"uri-template" Resource Identifiers JSON Schema Draft 7 Validation Section 7.3.6
"json-pointer" JSON Pointer JSON Schema Draft 7 Validation Section 7.3.7
"relative-json-pointer" JSON Pointer JSON Schema Draft 7 Validation Section 7.3.7
"regex" Regular Expressions JSON Schema Draft 7 Validation Section 7.3.8

Examples

A schema that describes string instances as e-mail addresses Schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "format": "email"
}
Valid A string value that represents a valid e-mail address is valid Instance
"john.doe@example.com"
Valid A string value that represents an invalid e-mail address is typically valid (implementation dependent) Instance
"foo-bar"
Valid Any non-string value is valid Instance
45