serde_json_merge
Merge, index, iterate, and sort a serde_json::Value
(recursively).
This library supports in-place merging and sorting using DFS and BFS traversal unline most implementations out there that use recursion and can stack overflow.
[]
= "0"
Usage
For usage examples, check the examples and documentation.
Examples
Documentation
RUSTDOCFLAGS="--cfg docsrs"
Linting
Benchmarking
# full benchmark suite
Benchmark reports from CI are published are available here.
Acknowledgements
After i wrote this crate for another project and decided to publish it, I found json_value_merge.
Looking through it, I added merge_index
inspired by their merge_in
API.
TODO
-
write benchmarks
-
add globbing iter
-
add iters for keys and values
-
implement sorting values with indices
-
implement bfs
-
add rayon support using par-dfs
-
write documentation
-
add examples in the documentation
DONE:
- inline everything
- do we really need the any type? so useless right now :(
- maybe use them for the very precise type?
- add custom comparator for merging
- split the sorting into extra module
- implement unstable sorting
- add feature gates for sort and merge
- add few more tests for kind and so on
- partial eq can be written top level
- add limit to dfs
- do not expose wrapper for Value but use extension
- add depth parameter to recursive merge