Categorygithub.com/RaveNoX/go-jsonmerge
modulepackage
1.0.0
Repository: https://github.com/ravenox/go-jsonmerge.git
Documentation: pkg.go.dev

# README

go-jsonmerge

Build Status GoDoc

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

MIT

# 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.

# Structs

Info describes result of merge operation.