Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including deepjson with all npm packages installed. Try it out:

var deepjson = require("deepjson")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

deepjson v1.1.2

A better way to load big json config files


A better way to load big json config files in node.js apps.

Build Status


Sometimes config files grow to sizes that are difficult to handle, therefore it is desirable to distribute information in different files and folders rather than having a single big JSON file, you can split it up across multiple files (and directories) and deep.json puts it all back together. deep.json will also extend this object with the following files (and its trees) that you have passed as arguments.


Install with npm

$ npm install deepjson


deepjson( config1, config2, ... )

Load all the json files passed as arguments, then extend them with json files under the folders with same name. Deepjson will return a object result of extend loaded files in order.


  • config String|Object: path to file (with or without extension) or javascript object
  • Return Object: extended object


.jsons and folders structure:

├── config.json: {"appname": "Fruits app", "port": 3000}
├── production.json: {"port": 4444}
├── config (folder)
│   ├── SEO.json: {"description": "Fresh lemmons!" }
│   ├── SEO (folder)
│       ├── keywords.json: ["a", "big", "array"]
var deepjson = require( 'deepjson' );

var defaultConfig = deepjson( 'config' );
/* {
    appname: 'Fruits app',
    port: 3000,
    SEO: {
        description: 'Fresh lemmons!',
        keywords: ['a', 'big', 'array']
} */

var productionConfig = deepjson( 'config', 'production' );
/* {
    appname: 'Fruits app',
    port: 4444,
    SEO: {
        description: 'Fresh lemmons!',
        keywords: ['a', 'big', 'array']
} */


npm install && npm test

© 2015 Jacobo Tabernero

Released under MIT License

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free