README
Recursively merge json documents in a new one.
Node.js Usage
npm install @compassdigital/mergejson --save
var mergejson = require('@compassdigital/mergejson')
var dominant = {
'1':'hello',
'3':{
'3.1': 'jhon',
'3.2': 'doe'
}
}
var recessive = {
'2': 'world',
'3':{
'3.1': 'jhon',
'3.2': 'lennon'
}
}
console.log(mergejson(dominant, recessive));
// -> {'1': 'hello', '2': 'world', '3': {'3.1': 'jhon', '3.2': 'doe'}}
var one = {
'1':'hello',
'4':{
'4.1': 'jhon',
'4.2': 'doe'
}
}
var two = {
'2': 'world',
'4':{
'4.1': 'jhon',
'4.2': 'lennon',
'4.3': 'from two'
}
}
var three = {
'3': '!',
'4':{
'4.1': 'jhon',
'4.2': 'lennon',
'4.3': 'from three'
}
}
console.log(mergejson(one, two, three));
// -> {'1': 'hello', '2': 'world', '3': '!', '4': {'4.1': 'jhon', '4.2': 'doe', '4.3': 'from two'}}
console.log(mergejson([one, two, three]));
// -> {'1': 'hello', '2': 'world', '3': '!', '4': {'4.1': 'jhon', '4.2': 'doe', '4.3': 'from two'}}
Terminal Usage
npm install -g mergejson
mergejson {\"1\":\"one\"} {\"2\":\"two\"} {\"3\":\"three\"}
# ->
#
# {
# '1': 'one',
# '2': 'two',
# '3': 'three'
# }
mergejson $(cat one.json) $(cat two.json) $(cat three.json)
# ->
#
# {
# '1': 'one',
# '2': 'two',
# '3': 'three'
# }