Skip to main content

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 official github readme

Project description

CJSON Logo

Coded Javascript Object Notation


For Python


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.


Python Tag
Test Status




Installation

pip install codedjson

Examples

Importing a JSON file in CJSON file

file.cjson

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

Code

    from cjson import Cjson
    cjson = Cjson(file/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

    from cjson import Cjson
    cjson = 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

    cjson = Cjson(variable_injection)

        injec_data = {
            "fruit": "apple",
            "quantity": 1,
            "jsonTypeData": {
                "secondaryData": {
                    "type": "fruit",
                    "seeds": "yes"
                }
            }
        }

    data = cjson.inject(injecting_obj=injec_data)

Output

{
    "target": {
        "types": "asd",
        "fruit": "apple,
        "quantity": 1,
    },
    "jsonInjection": {
        "secondaryData": {
            "type": "fruit",
            "seeds": "yes"
        }
    }
}

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
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

codedjson-2.0.0.tar.gz (8.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page