11个版本 (6个重大变更)

0.7.0 2021年9月16日
0.6.0 2021年3月14日
0.5.0 2020年12月25日
0.4.1 2020年9月8日
0.1.0 2017年4月21日

#1611 in 编码

每月41次下载

MIT/Apache

110KB
2.5K SLoC

从JSON生成Rust、Kotlin、TypeScript和JSON Schema类型定义的CLI

注意:还有Web界面,并且对于Rust类型,也有一个过程宏接口到这段代码,它使用相同的底层算法和代码生成。有关详细信息,请参阅仓库,有关Web界面,请参阅typegen.vestera.as

安装

使用cargo安装

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

或从GitHub发行版页面下载预编译的二进制文件。

用法

要从本地样本生成Point类型的Rust代码到point.rs,请运行

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

注意:如果存在,输出文件(例如src/point.rs)将被覆盖。

对于在线样本,运行

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

生成的代码假定存在serdeserde_derive,因此请确保您的Cargo.toml包含类似的内容

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

选项和配置

要获取CLI本身的帮助,请运行json_typegen -h。要配置可见性和其他选项,请参阅通用配置文档

其他语言

您可以使用--output-mode选项生成其他语言的代码。从--help

    -O, --output-mode <output-mode>    What to output. [possible values: rust, typescript, typescript/typealias, kotlin,
                                       kotlin/jackson, kotlin/kotlinx, json_schema, shape]

依赖项

~7–10MB
~183K SLoC