coded-json
TypeScript icon, indicating that this package has built-in type declarations

2.1.1 • Public • Published
CJSON Logo

Coded Javascript Object Notation


For NodeJS


CJSON is a data file format(inspired from JSON), but supports logical expressions too. Having extended language support to NodeJS, Python and Java, users has experienced data reusability. For features and examples, please refer to this documentation as base document.


NPM Tag
Test Status




Installation

npm i coded-json

Examples

Importing a JSON file in CJSON file

file.cjson

{
    "source": $import "path/to/source.json",
    "target": {
        "fruit": "Apple",
        "size": "Large",
        "color": "Red"
    }
}

Code

    import Cjson from "coded-json";
    var cjson: Cjson = new Cjson("path/to/file.cjson");
    var b = cjson.deserialize();

Output

{
    "source": {
        // source.json content
    },
    "target": {
        "fruit": "Apple",
        "size": "Large",
        "color": "Red"
    }
}

Calling relative keys using JPATH

Below example shows color variable is calling data from fruit variable

file.cjson

{
    "target": {
        "fruit": "Orange",
        "size": "Medium",
        "color": $.target.fruit
    }
}

Code

    import { Cjson } from 'coded-json'; 
    var cjson = new Cjson(file/path/to/file.cjson);
    var b = cjson.deserialize();

Output

{
    "target": {
        "fruit": "Orange",
        "size": "Medium",
        "color": "Orange"
    }
}

Dynamic variable injection

file.cjson

{
    "target": {
        "types": "asd",
        "fruit": <fruit>,
        "quantity": <quantity>,
    },
    "jsonInjection": <jsonTypeData>
}

Code

    var cjson = new Cjson(file/path/to/file.cjson);
    var injectObj = {
        fruit: "apple",
        quantity: 1,
        jsonTypeData: {
            injectedData: "jsonInjectionValue"
        }
    };
    var deserializedVal = cjson.inject(injectObj);

Output

{
    "target": {
        "types": "asd",
        "fruit": "apple,
        "quantity": 1,
    },
    "jsonInjection": {
        injectedData: "jsonInjectionValue"
    }
}

Single/ Multiple line comments

For single line comments, use //

For multi line comments, use like below:

// This is first line comment
// This is the second one

{
    "name": "Amrut" // This is not allowed
}

/coded-json/

    Package Sidebar

    Install

    npm i coded-json

    Weekly Downloads

    5

    Version

    2.1.1

    License

    MIT

    Unpacked Size

    56 kB

    Total Files

    29

    Last publish

    Collaborators

    • ssgupta