lijian 48c2e0e9f9 依赖更新为 go mod 1 gadu atpakaļ
..
.editorconfig 48c2e0e9f9 依赖更新为 go mod 1 gadu atpakaļ
.gitattributes 48c2e0e9f9 依赖更新为 go mod 1 gadu atpakaļ
.gitignore 48c2e0e9f9 依赖更新为 go mod 1 gadu atpakaļ
.gitlab-ci.yml 48c2e0e9f9 依赖更新为 go mod 1 gadu atpakaļ
.travis.yml 48c2e0e9f9 依赖更新为 go mod 1 gadu atpakaļ
LICENSE 29b1fcc3ab udpate vendor 2 gadi atpakaļ
README.md 29b1fcc3ab udpate vendor 2 gadi atpakaļ
build.cmd 29b1fcc3ab udpate vendor 2 gadi atpakaļ
build.sh 48c2e0e9f9 依赖更新为 go mod 1 gadu atpakaļ
doc.go 29b1fcc3ab udpate vendor 2 gadi atpakaļ
merge.go 29b1fcc3ab udpate vendor 2 gadi atpakaļ

README.md

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