json_typegen_cli 0.6.0

Command line utility for generating Rust types from JSON samples
json_typegen_cli-0.6.0 is not a library.

CLI for generation of type definitions for Rust, Kotlin, TypeScript and JSON Schema from JSON

Note: There is also a web interface, and for Rust types there is also a procedural macro interface to this code, which uses the same underlying algorithm and code generation. See the repository for details.

Installation

cargo install json_typegen_cli
# installed binary is called json_typegen
# make sure ~/.cargo/bin is on your PATH

Usage

To generate the Rust type Point in point.rs from a local sample, run:

json_typegen json_samples/point.json -o src/point.rs -n 'pub Point'

Note: The output file (e.g. src/point.rs) will be overwritten if it exists.

For an online sample, run:

json_typegen 'https://typegen.vestera.as/examples/point.json' -o src/point.rs -n 'pub Point'

The generated code assumes the availability of serde and serde_derive, so make sure your Cargo.toml contains something like:

[dependencies]
serde = "1.0"
serde_derive = "1.0"
# Not required, but you probably also want:
serde_json = "1.0"

Options and configurations

For help with the CLI itself run json_typegen -h. To configure visibility and other options see the general configuration documentation.

Other languages

The CLI currently has rudimentary support for Kotlin, TypeScript and JSON Schema. Contributions for these and additions of others are welcome.