JSON Structure is a data structure definition language that enforces strict typing, modularity, and determinism.
JSON Structure schemas can be used with Avrotize (via its structurize alias) to generate code and convert between schema formats.
Structurize is the JSON Structure-focused interface to Avrotize. It provides commands for:
pip install avrotize
Or use the structurize alias package:
pip install structurize
Convert a JSON Structure schema to other formats:
# Convert JSON Structure to Protocol Buffers
structurize s2p schema.struct.json --out ./proto/
# Convert JSON Structure to XML Schema (XSD)
structurize s2x schema.struct.json --out schema.xsd
# Convert JSON Structure to GraphQL
structurize struct2gql schema.struct.json --out schema.graphql
# Convert JSON Structure to Kusto table definition
structurize s2k schema.struct.json --out schema.kql
# Convert JSON Structure to SQL table definition
structurize struct2sql schema.struct.json --out schema.sql --dialect postgres
# Convert JSON Structure to Iceberg schema
structurize s2ib schema.struct.json --out schema.iceberg.json
Structurize/Avrotize can generate code in multiple languages directly from JSON Structure schemas:
# Generate C# classes
structurize s2cs schema.struct.json --out ./generated/
# Generate Java classes
structurize s2java schema.struct.json --out ./generated/
# Generate Python dataclasses
structurize s2py schema.struct.json --out ./generated/
# Generate TypeScript classes
structurize s2ts schema.struct.json --out ./generated/
# Generate Go structs
structurize s2go schema.struct.json --out ./generated/
# Generate Rust structs
structurize s2rust schema.struct.json --out ./generated/
# Generate C++ classes
structurize s2cpp schema.struct.json --out ./generated/
# Convert JSON Structure to Markdown documentation
structurize struct2md schema.struct.json --out schema.md
# Convert JSON Structure to CSV schema
structurize s2csv schema.struct.json --out schema.csv
# Convert JSON Structure to Datapackage schema
structurize s2dp schema.struct.json --out datapackage.json
# Convert JSON Structure to Cassandra schema
structurize struct2cassandra schema.struct.json --out schema.cql
| Source Format | Target Format | Command | Example |
|---|---|---|---|
| JSON Structure | Protocol Buffers | s2p |
View → |
| JSON Structure | XML Schema (XSD) | s2x |
View → |
| JSON Structure | JSON Schema | s2j |
View → |
| JSON Structure | GraphQL | struct2gql |
View → |
| JSON Structure | SQL (PostgreSQL) | struct2sql |
View → |
| JSON Structure | Iceberg | s2ib |
View → |
| JSON Structure | Cassandra | struct2cassandra |
View → |
| JSON Structure | Markdown | struct2md |
View → |
| JSON Structure | CSV Schema | s2csv |
View → |
| JSON Structure | Datapackage | s2dp |
View → |
| Target Language | Command | Example |
|---|---|---|
| C# | s2cs |
View → |
| Java | s2java |
View → |
| Python | s2py |
View → |
| TypeScript | s2ts |
— |
| Go | s2go |
View → |
| Rust | s2rust |
View → |
| C++ | s2cpp |
View → |
Browse example schemas and see conversions in action at the Avrotize Schema Gallery.
The gallery showcases: