@compassdigital/mergejson

Recursively merge json documents in a new one

Stats

StarsIssuesVersionUpdatedCreatedSize
@compassdigital/mergejson
121.1.22 years ago3 years agoMinified + gzip package size for @compassdigital/mergejson in KB

Readme

NPM Version

Recursively merge json documents in a new one.

Node.js Usage

npm install mergejson --save
var mergejson = require('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'
# }

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.