JSON Schema
Hackolade is a visual editor for JSON Schema for non-programmers. It is ideal to perform the upfront schema design of any type of JSON document Since v5 of Hackolade, the latest JSON Schema specifications are supported:
- draft-04
- draft-06
- draft-07
- 2019-09
- 2020-12
Hackolade was specially adapted to support the data modeling of JSON files.
JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language. JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages. These properties make JSON an ideal data-interchange language. JSON is built on two structures:
- A collection of name/value pairs. In various languages, this is realized as an object, record, struct, dictionary, hash table, keyed list, or associative array.
- An ordered list of values. In most languages, this is realized as an array, vector, list, or sequence.
With version 5 of Hackolade, support was introduced for the conditional application of subschemas. The if, then and else keywords allow the application of a subschema based on the outcome of another schema:
You will find more information about JSON Schema on the website.
Forward-engineering
Hackolade dynamically generates JSON Schema for the structure created with the application, and can be pre-viewed with a variety of options, as further described here. The JSON Schema can also be exported to the file system via the menu Tools > Forward-Engineering, or via the Command-Line Interface.
The JSON Schema can also be exported to a Confluent or Pulsar Schema Registry instance:
Reverse-Engineering
Hackolade can reverse-engineer of course JSON Schema from different drafts, but also infer the schema from JSON, YAML or NDJSON documents. It can also convert DDLs and XSDs to JSON Schema.