#json-diff #json #diff #cli #json-structural-diff

bin+lib json_diff_ng

一个 JSON 差分库,具有深度排序和正则表达式排除键的功能。包含 CLI。

9 个版本 (4 个重大更新)

0.6.0 2024 年 5 月 30 日
0.6.0-RC12024 年 5 月 22 日
0.5.0 2024 年 5 月 3 日
0.4.1 2024 年 3 月 17 日
0.2.0 2023 年 10 月 9 日

#437 in 开发工具

Download history 52/week @ 2024-04-24 225/week @ 2024-05-01 70/week @ 2024-05-08 114/week @ 2024-05-15 244/week @ 2024-05-22 373/week @ 2024-05-29 285/week @ 2024-06-05 172/week @ 2024-06-12 173/week @ 2024-06-19 222/week @ 2024-06-26 82/week @ 2024-07-03 39/week @ 2024-07-10 78/week @ 2024-07-17 69/week @ 2024-07-24 216/week @ 2024-07-31 224/week @ 2024-08-07

每月 591 次下载
用于 havocompare

无许可证

2.5MB
996

json-diff-ng

Crates.io Documentation CI Coverage Status License

贡献者

Contributors

json_diff_ng 可以用于获取 Rust 中可序列化结构的差异。

用法示例

use json_diff::compare_strs;
let data1 = r#"["a",{"c": ["d","f"] },"b"]"#;
let data2 = r#"["b",{"c": ["e","d"] },"a"]"#;
let diffs = compare_strs(data1, data2, true, & []).unwrap();
assert!(!diffs.is_empty());
let diffs = diffs.unequal_values.get_diffs();
assert_eq!(diffs.len(), 1);
assert_eq!(
    diffs.first().unwrap().to_string(),
    r#".[0].c.[1].("f" != "e")"#
);

有关更多详细信息,请参阅 docs.rs

CLI

json_diff 是一个用于比较两个 JSON 的命令行工具。

输入可以是内联字符串或通过文件提供。
为了可读性,输出被巧妙地区分为三个类别:具有不同值的键,以及两个对象中都不存在的键。
只打印输出中缺失或不等的键,以减少冗余。

用法示例

$json_diff 文件 source1.json source2.json
$json_diff 直接'{...}' '{...}'

选项

file : 从 json 文件中读取输入
direct : 从命令行读取输入

安装

$cargo install json_diff_ng

依赖

~3.5–6MB
~105K SLoC