Skip to content

zakalibit/jcson

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jcson - enhanced json for configuration

Build Status

Introdcution

The jcson python module is an enhanced json parser, that supports:

  • path expression subtitutions, with fallback to environment variables.
  • include directive
  • new line and inline comments

Path expression sustitutions

Substitutions are a way of referring to other parts of the configuration tree. The syntax is ${pathe.xpression} where the path.expression is used to write out a path through the object graph, like ${foo.bar} that refers to { "foo": { "bar" : 42 } If a substitution is not present within a configuration tree, search will attempt to fallback to environment variables.

Include directive

An include directive consists of the unquoted string include followed by quoted filename.

include "include.jcson"

Instaling

Install and update using pip:

pip install -U jcson

A simple example

Sample config file simple.jcson:

{
    "foo" : {
        "bar": "some value"
    },

    "bar_value": "${foo.bar}",

    "concatenated": "${foo.bar} used later"
}

Pyhton code that reads it:


import json
import jcson

c = jcson.read('simple.jcson')

print (json.dumps(c, indent=4))

Output:

{
    "foo" : {
        "bar": "some value"
    },

    "bar_value": "some value",

    "concatenated": "some value used later"
}

About

JSON for configuration

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages