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次下载
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
生成的代码假定存在serde
和serde_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