Package jsondata :: Module JSONData
[hide private]
[frames] | no frames]

Module JSONData

source code

Core features for the processing of structured JSON based in-memory data.
This comprises the load of a master model from a JSON file, and the 
incremental addition and removal of branches by loading additional
JSON modules into the master model.
The resulting data could be saved for later reuse, where complex configuration
is varied by user interaction.
The implementation is based on the standard packages 'json' and 'jsonschema'.

This module uses for the syntax of JSON data either a preloaded
module, or loads the standard module by default. Current supported
packages are:
    
- **json**: The standard json package of the Python distribution.

- **ujson**: 'Ultra-JSON', a wrapped C implementation with 
    high-performance conversion. 

The current default module is 'json' for syntax processing, 
the standard package 'jsonschema' for the optional validation.
    


Version: 0.2.14

Author: Arno-Can Uestuensoez

Copyright: Copyright (C) 2015-2016 Arno-Can Uestuensoez @Ingenieurbuero Arno-Can Uestuensoez

License: Artistic-License-2.0 + Forced-Fairplay-Constraints

Classes [hide private]
  JSONDataAmbiguity
Error ambiguity of provided parameters.
  JSONpl
A wrapper for a 'list' representing a path pointer at the method interfaces.
  JSONData
Representation of a JSON based object data tree.
Variables [hide private]
  __maintainer__ = 'Arno-Can Uestuensoez'
  __uuid__ = '63b597d6-4ada-4880-9f99-f5e0961351fb'
  version = '2.7'
  MODE_JSON_RFC4927 = 0
The first JSON RFC.
  MODE_JSON_RF7951 = 2
The JSON RFC by 'now'.
  MODE_JSON_ECMA264 = 10
The first JSON EMCMA standard.
  MODE_POINTER_RFC6901 = 20
JSONPointer first IETF RFC.
  MODE_PATCH_RFC6902 = 30
JSONPatch first IETF RFC.
  MODE_SCHEMA_OFF = 40
No validation.
  MODE_SCHEMA_DRAFT3 = 43
The first supported JSONSchema IETF-Draft.
  MODE_SCHEMA_DRAFT4 = 44
The current supported JSONSchema IETF-Draft.
  MODE_SCHEMA_ON = 44
The current default, DRAFT4.
  MATCH_INSERT = 0
for dicts
  MATCH_NO = 1
negates the whole set
  MATCH_KEY = 2
for dicts
  MATCH_CHLDATTR = 3
for dicts and lists
  MATCH_INDEX = 4
for lists
  MATCH_MEM = 5
for dicts(value) and lists
  MATCH_NEW = 6
If not present create a new, else ignore and keep present untouched.
  MATCH_PRESENT = 7
Check all are present, else fails.
  _interactive = False
  __package__ = 'jsondata'