9 releases (4 breaking)
0.6.0 | May 30, 2024 |
---|---|
0.6.0-RC1 | May 22, 2024 |
0.5.0 | May 3, 2024 |
0.4.1 | Mar 17, 2024 |
0.2.0 | Oct 9, 2023 |
#352 in Development tools
1,248 downloads per month
Used in havocompare
2.5MB
996 lines
json-diff-ng
Contributors:
Library
json_diff_ng can be used to get diffs of json-serializable structures in rust.
Usage example
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")"#
);
See docs.rs for more details.
CLI
json-diff is a command line utility to compare two jsons.
Input can be fed as inline strings or through files.
For readability, output is neatly differentiated into three categories: keys with different values, and keys not present
in either of the objects.
Only missing or unequal keys are printed in output to reduce the verbosity.
Usage Example:
$ json_diff file source1.json source2.json
$ json_diff direct '{...}' '{...}'
Option:
file : read input from json files
direct : read input from command line
Installation
$ cargo install json_diff_ng
Dependencies
~4–6MB
~108K SLoC