10 个版本
0.3.1 | 2024年4月29日 |
---|---|
0.3.0 | 2024年4月29日 |
0.2.1 | 2024年4月10日 |
0.1.5 | 2024年4月7日 |
480 在 文本处理 中排名
每月下载 35 次
25KB
535 代码行
formatjson
使用 Rust 编写的简单 JSON 验证器和格式化工具。
有关文档,请参阅 docs.rs 页面。
安装
cargo install formatjson
用法
-
作为命令行工具
$ formatjson example.json Successfully formatted example.json $ echo '{"foo": "bar"}' | formatjson { "foo": "bar" }
-
作为库
fn main() { let json = formatjson::format_json(r#"{"foo":"bar"}"#).unwrap(); println!("{}", json); }
$ cargo run { "foo": "bar" }
速度
在 这个 25MB 的 JSON 文件 上运行它,得到了以下结果
$ hyperfine 'formatjson large.json'
Benchmark 1: formatjson large.json
Time (mean ± σ): 400.1 ms ± 9.3 ms [User: 359.4 ms, System: 31.9 ms]
Range (min … max): 390.1 ms … 419.6 ms 10 runs
在我的 M1 MacBook Air 上平均 400 毫秒,比 pretter 快 38 倍,pretter 需要 15.27 秒
$ time npx prettier --check large.json
Checking formatting...
[warn] large.json
[warn] Code style issues found in the above file. Run Prettier to fix.
npx prettier --check large.json 26.14s user 11.57s system 246% cpu 15.279 total
依赖项
~3.5–5MB
~95K SLoC