# README
go-jsonmerge
GO library for merging JSON objects
Original document
{
"number": 1,
"string": "value",
"object": {
"number": 1,
"string": "value",
"nested object": {
"number": 2
},
"array": [1, 2, 3],
"partial_array": [1, 2, 3]
}
}
Patch
{
"number": 2,
"string": "value1",
"nonexitent": "woot",
"object": {
"number": 3,
"string": "value2",
"nested object": {
"number": 4
},
"array": [3, 2, 1],
"partial_array": {
"1": 4
}
}
}
Result
{
"number": 2,
"string": "value1",
"object": {
"number": 3,
"string": "value2",
"nested object": {
"number": 4
},
"array": [3, 2, 1],
"partial_array": [1, 4, 3]
}
}
Commandline Tool
$ go get -u github.com/RaveNoX/go-jsonmerge/cmd/jsonmerge
$ jsonmerge [options] <patch.json> <glob1.json> <glob2.json>...<globN.json>
# For help
$ jsonmerge -h
Development
# Install depencencies
./init.sh
# Build
./build.sh
License
# Packages
JSON merging utility
Usage:
jsomerge [-q|-v] <patch.json> <original_glob1>..<original_globN>
*/.
# Functions
Merge merges patch document to data document
Returning merged document and merge info.
MergeBytes merges patch document buffer to data document buffer
Returning merged document buffer, merge info and error if any.
MergeBytesIndent merges patch document buffer to data document buffer
Use prefix and indent for set indentation like in json.MarshalIndent
Returning merged document buffer, merge info and error if any.