aeson-diff alternatives and similar packages
Based on the "Algorithms" category.
Alternatively, view aeson-diff alternatives based on common mentions on social networks and blogs.
-
lca
Improves the known complexity of online lowest common ancestor search to O(log h) persistently, and without preprocessing -
edit-distance-linear
Levenshtein edit distance in linear memory (also turns out to be faster than C++)
CodeRabbit: AI Code Reviews for Developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of aeson-diff or a related project?
README
Aeson Diff
This is a small library for working with changes to JSON documents. It includes a library and two executables in the style of diff(1) and patch(1). Patches are themselves JSON Patch documents as specified in RFC 6902.
Installing
The aeson-diff
package is written in Haskell and can be installed using the
Cabal package management tool, stack, or something similar.
stack install aeson-diff
The command-line tools can then be executed using stack:
stack exec json-diff -- ....
stack exec json-patch -- ....
If you prefer to use Cabal, something like this might do the trick:
cd aeson-diff/
cabal sandbox init
cabal install --dependencies-only
cabal build
sudo mkdir -p /usr/local/bin
sudo cp dist/build/json-*/json-{diff,patch} /usr/local/bin/
Usage
Patch format
aeson-diff
supports the JSON Patch format described in
RFC 6902.
json-diff command
The json-diff
command compares two JSON documents and extracts a patch
describing the differences between the first document and the second.
Usage: json-diff [-T|--test-before-remove] [-o|--output OUTPUT] FROM TO
Generate a patch between two JSON documents.
Available options:
-h,--help Show this help text
-T,--test-before-remove Include a test before each remove.
-o,--output OUTPUT Write patch to file OUTPUT.
json-patch command
The json-patch
command applies a patch describing changes to be made to
a JSON document.
Usage: json-patch [-o|--output OUTPUT] PATCH FROM
Generate a patch between two JSON documents.
Available options:
-h,--help Show this help text
-o,--output OUTPUT Destination for patched JSON.
PATCH Patch to apply.
FROM JSON file to patch.
aeson-diff library
The aeson-diff
library exports as single module: Data.Aeson.Diff
. This
exports diff
and patch
functions which do exactly what might be expected:
diff :: Value -> Value -> Patch
examines source and target JSONValue
s and constructs a newPatch
describing the changes.patch :: Patch -> Value -> Result Value
applies the changes in aPatch
to a JSONValue
. If an error results then an exception is thrown.
For more complete information, see the documentation.