Skip to main content

Parse JSON Schemas into relational model and transpile into other textual representations.

Project description

json-rm

This tool parses a JSON Schema into "Entities" and "Attributes", which correspond to tables and columns in a relational database. It can be used to output different representations of the data model described by the input schema.

Installation

pip install json-rm

Command line usage

jst <command> <schema_path>

Examples

Use the 'simple' formatter on a schema:

$ jst simple resources/schemas/1.2.246.537.6.1506.7000.2022.1.10.json

Use the 'postgres' formatter on a schema:

$ jst postgres resources/schemas/1.2.246.537.6.1506.7000.2022.1.10.json

Use the 'spark' formatter on a schema:

$ jst spark resources/schemas/1.2.246.537.6.1506.7000.2022.1.10.json

Using from your Python code

import json_rm
from json_rm.formatters import SimpleFormatter

schema = json_rm.JSONSchema.from_file("schema.json")
formatter = SimpleFormatter()

print(schema.render(formatter))

Parsing options

normalization

  • Denormalized (default) mode results in a flat structure with less tables.
  • Normalized mode results in a deep structure with more tables.

When normalization is set to False (default), the parser operates in "denormalized" mode, creating a new Entity only for the root object and repeating (array) objects. In the "normalized mode, a separate Entity is created for each nested structure (JSON objects and arrays).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

json-rm-0.0.2.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

json_rm-0.0.2-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file json-rm-0.0.2.tar.gz.

File metadata

  • Download URL: json-rm-0.0.2.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for json-rm-0.0.2.tar.gz
Algorithm Hash digest
SHA256 1ae75f05fd18ad88e5efd706a30667465040dc2c1023b4d674c79ddd8881cf09
MD5 b8ea8438ad81f67c9a91265f69c57cc3
BLAKE2b-256 c8c441eb3663738b4fd4257b210e2f128ee1030e0518fefa550f819c21ade5bc

See more details on using hashes here.

File details

Details for the file json_rm-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: json_rm-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 8.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for json_rm-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cd663a96d722ee8d10d4872c06a34b820e86e8010274f9fd11ca561cd30ef2b4
MD5 eb94650d8108e874ad133edbb411ac37
BLAKE2b-256 792a3c4db45dfcbd87d470e9378292118bb0ece55fb74719455f9e91f34ac7e8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page