add docs for commandline utilities
This commit is contained in:
110
doc/commandline.rst
Normal file
110
doc/commandline.rst
Normal file
@@ -0,0 +1,110 @@
|
|||||||
|
Commandline Utilities
|
||||||
|
=====================
|
||||||
|
|
||||||
|
The JSON patch package contains the commandline utilities ``jsondiff`` and
|
||||||
|
``jsonpatch``.
|
||||||
|
|
||||||
|
``jsondiff``
|
||||||
|
------------
|
||||||
|
|
||||||
|
The program ``jsondiff`` can be used to create a JSON patch by comparing two
|
||||||
|
JSON files ::
|
||||||
|
|
||||||
|
usage: jsondiff [-h] [--indent INDENT] [-v] FILE1 FILE2
|
||||||
|
|
||||||
|
Diff two JSON files
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
FILE1
|
||||||
|
FILE2
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--indent INDENT Indent output by n spaces
|
||||||
|
-v, --version show program's version number and exit
|
||||||
|
|
||||||
|
Example
|
||||||
|
^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
# inspect JSON files
|
||||||
|
$ cat a.json
|
||||||
|
{ "a": [1, 2], "b": 0 }
|
||||||
|
|
||||||
|
$ cat b.json
|
||||||
|
{ "a": [1, 2, 3], "c": 100 }
|
||||||
|
|
||||||
|
# show patch in "dense" representation
|
||||||
|
$ jsondiff a.json b.json
|
||||||
|
[{"path": "/a/2", "value": 3, "op": "add"}, {"path": "/b", "op": "remove"}, {"path": "/c", "value": 100, "op": "add"}]
|
||||||
|
|
||||||
|
# show patch with some indentation
|
||||||
|
$ jsondiff a.json b.json --indent=2
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"path": "/a/2",
|
||||||
|
"value": 3,
|
||||||
|
"op": "add"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "/b",
|
||||||
|
"op": "remove"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "/c",
|
||||||
|
"value": 100,
|
||||||
|
"op": "add"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
``jsonpatch``
|
||||||
|
-------------
|
||||||
|
|
||||||
|
The program ``jsonpatch`` is used to apply JSON patches on JSON files. ::
|
||||||
|
|
||||||
|
usage: jsonpatch [-h] [--indent INDENT] [-v] ORIGINAL PATCH
|
||||||
|
|
||||||
|
Apply a JSON patch on a JSON files
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
ORIGINAL Original file
|
||||||
|
PATCH Patch file
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--indent INDENT Indent output by n spaces
|
||||||
|
-v, --version show program's version number and exit
|
||||||
|
|
||||||
|
|
||||||
|
Example
|
||||||
|
^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
# create a patch
|
||||||
|
$ jsondiff a.json b.json > patch.json
|
||||||
|
|
||||||
|
# show the result after applying a patch
|
||||||
|
$ jsonpatch a.json patch.json
|
||||||
|
{"a": [1, 2, 3], "c": 100}
|
||||||
|
|
||||||
|
$ jsonpatch a.json patch.json --indent=2
|
||||||
|
{
|
||||||
|
"a": [
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"c": 100
|
||||||
|
}
|
||||||
|
|
||||||
|
# pipe result into new file
|
||||||
|
$ jsonpatch a.json patch.json --indent=2 > c.json
|
||||||
|
|
||||||
|
# c.json now equals b.json
|
||||||
|
$ jsondiff b.json c.json
|
||||||
|
[]
|
||||||
|
|
||||||
@@ -18,6 +18,7 @@ and PyPy are supported.
|
|||||||
|
|
||||||
tutorial
|
tutorial
|
||||||
mod-jsonpatch
|
mod-jsonpatch
|
||||||
|
commandline
|
||||||
RFC 6902 <http://tools.ietf.org/html/rfc6902>
|
RFC 6902 <http://tools.ietf.org/html/rfc6902>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user