#json-schema #infer #java #typescript #python #dart #auto-magically

bin+lib schemajen

SchemaJen - 自动推断JSON模式给定的语言绑定

2 个不稳定版本

0.2.0 2023年4月13日
0.1.0 2023年4月12日

#5 in #infer

AGPL-3.0

40KB
1K SLoC

SchemaJen

自动推断JSON模式给定的语言绑定。

连接客户端和后端是件困难的事情。如果你的后端是用与客户端不同的语言编写的,那么这一点尤其如此。Schemajen 是一个使整个过程几乎无痛的工具。给定一个JSON请求、响应或任何内容,SchemaJen 都可以推断出工作语言绑定。

语言支持

  • Rust
  • Typescript
  • Dart
  • Python 3.8+
  • Java(通过 java.io.Serializable

请随意发送语言请求或额外的实现!

现在试试!

您可以在这里尝试 SchemaJen 的网络版本。

或者,您也可以使用 cargo 安装 SchemaJen 的 CLI 版本。

cargoinstall schemajen

贡献/使用 Crate

SchemaJen 是用 Rust 构建的,所以它是一个 crate。您可以在文档crate 信息页面上了解更多信息。

示例用法

use schemajen::*;

//  See [`ACCUMULATOR_SUPPORT_LIST`] for string options.
//  let mut accumulator = accumulator_choose_with_str("rust");

let mut accumulator = Box::new(RustAccumulator::begin());
let res = generate(&mut accumulator, "MyType", r#"{"a": 10}"#);
res.unwrap();
eprintln!("{}", res);

依赖项

~140–360KB