Abstract

The ‘jsondata’ package provides the management of modular data structures based on JSON. The data is represented by in-memory tree structures with dynamically added and/or removed branches. The data could be validated by JSON schemas, and stored for the later reuse.

The ‘jsondata’ package provides a standards conform layer for the processing with emphasis on in-memory performance and low resource consume. The implementation integrates seamless into the standard interfaces of Python(>=2.7), whereas higher level features of additional standards and extensions are introduced on top.

REMARK - Platforms

This version supports Linux and Windows7 - The update for MacOS, BSD, and Solaris is going to follow soon.

Blueprint

The architecture is based on the interfaces of the packages ‘json’ and ‘jsonschema’, and compatible packages such as ‘ujson’ [online]

               +-------------------------+
Applications   |    application-layer    |
               +-------------------------+
.   .  .  .  .  . | .  .  . | .  .  .  | .  .  .  .  .  .  .  .  .
               + - - - - - - - - - - - - +    see e.g. jsoncompute,
Process JSON   |    processing tools     |    jsoncliopts,
               + - - - - - - - - - - - - +    jsondataunit
.   .  .  .  .  . | .  .  . | .  .  .  | .  .  .  .  .  .  .  .  .
                  |         V          |
Data              |   +----------+     |      RFC6901
Structures        |   | jsondata |     |      RFC6902
                  |   +----------+     |      +pointer arithmetics
                  |      |    |        |      +extensions
.  .  .  .  .  .  | .  . | .  | .  .  .| .  .  .  .  .  .  .  .  .
                  +---+--+    +---+----+
                      |           |
                      V           V
               +------------+------------+    RFC7159/RFC4267
JSON           |    json    | jsonschema |    ECMA-262/ECMA-404
Syntax         |    ujson   |            |    draft-zyp-json-schema-04
               +------------+------------+
                                              Support/verified: json, ujson
                                              simply import package
                                              before 'jsondata'

The provided features comprise:

Including the utilities:

  • JSON Tree: Utilities for structure analysis and operations on JSON data structures, e.g. diff [API] [source]

The syntax primitives of underlying layers are processed by the imported standard packages ‘json’ and ‘jsonschema’ in conformance to related standards. Current supported compatible packages include: ‘ujson’ [online].

The examples from the standards with some extensions are included as Use-Cases in order to verify implementation details for the recommendations [see] . This serves also as a first introduction to JSON processing with the package ‘jsondata’.

For the implementation and architecture refer to

Install - HowTo - FAQ - Help

  • Install:

    Standard procedure online local install by sources:

    python setup.py install --user
    

    Custom procedure offline by:

    python setup.py install --user --offline
    

    Documents, requires Sphinx and Epydoc:

    python setup.py build_doc install_doc
    
  • Introduction:

    For now refer to the listed API and subdocument collection in section ‘Shortcuts’

Shortcuts

Concepts and workflows:

Common Interfaces:

Complete technical API:

  • Interface in javadoc-style [API]

Indices and tables

Resources

For available downloads refer to:

For JSON processing references:

For Licenses refer to enclosed documents:

Project data summary:

  • PROJECT=jsondata

  • MISSION=Provide and extend a comprising JSON Toolset including a JSON-DSL for computing - RFC7159, RFC6901, RFC6902, ...

  • AUTHOR=Arno-Can Uestuensoez

  • COPYRIGHT=Copyright (C) 2010,2011,2015-2016 Arno-Can Uestuensoez @Ingenieurbuero Arno-Can Uestuensoez

  • LICENSE=Artistic-License-2.0 + Forced-Fairplay-Constraints

  • VERSION=0.2.18

  • RELEASE=0.2.18

  • STATUS=alpha

  • NICKNAME=Mafumo

    Mafumo the lion - see kevinr Save the Lions - Mafumo and Vayetsi