Skip to main content

DRB json implementation

Project description

JsonNode Implementation

This drb-impl-json module implements json format access with DRB data model. It is able to navigates among the json contents.

Json Factory and Json Node

The module implements the basic factory model defined in DRB in its node resolver. Based on the python entry point mechanism, this module can be dynamically imported into applications.

The entry point group reference is drb.impl.
The implementation name is json.
The factory class is encoded into drb_impl_json.json_node_factory.

The json factory creates a JsonNode from an existing json content. It uses a base node to access the content data using the streamed base node implementation.

The base node can be a FileNode (See drb-impl-file), HttpNode, ZipNode or any other node able to provide streamed (BufferedIOBase, RawIOBase, IO) json content.

limitations

The current version does not manage child modification and insertion. JsonNode is currently read only.

Using this module

To include this module into your project, the drb-impl-json module shall be referenced into requirement.txt file, or the following pip line can be run:

pip install drb-impl-json

Node Creation:

The implementation can create a JsonNode by giving the path to a json file:

from drb_impl_json import DrbJsonNode

node = JsonNode(PATH_JSON)

the implementation can also give a dictionary in argument:

from drb_impl_json import DrbJsonNode

DICT = { 
        "id":"01", 
        "name": "Tom", 
        "lastname": "Price" 
     }
node = JsonNode(NAME_OF_YOUR_NODE, data = DICT)

If the baseNode is an HttpNode, FileNode... the implementation can retrieve the data of your Json with this:

from drb_impl_json import JsonNodeFactory

FACTORY = JsonNodeFactory()
FILE_NODE = DrbFileNode(PATH_TO_YOUR_JSON)
NODE = FACTORY.create(FILE_NODE)

Different types of data

data JSON Type Python Type
null null None
true/false boolean bool
'hello World' string str
1 int int
1.0 number float
[...] array list
{...} object dict

Documentation

The documentation of this implementation can be found here https://drb-python.gitlab.io/impl/json

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

drb-impl-json-1.0.1.tar.gz (22.2 kB view details)

Uploaded Source

Built Distribution

drb_impl_json-1.0.1-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file drb-impl-json-1.0.1.tar.gz.

File metadata

  • Download URL: drb-impl-json-1.0.1.tar.gz
  • Upload date:
  • Size: 22.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.11.3 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.63.0 CPython/3.8.13

File hashes

Hashes for drb-impl-json-1.0.1.tar.gz
Algorithm Hash digest
SHA256 1eed98ce0a60f2dc4954cc0be14426c0d8f8b8369c938b24769574f266cefcdc
MD5 780b8d6d7f01a1e711314a1272cd0621
BLAKE2b-256 62f45a395d0847ff9710a83adfe529a25913813d34cb5eeb967d0fd3820880bb

See more details on using hashes here.

File details

Details for the file drb_impl_json-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: drb_impl_json-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 6.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.11.3 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.63.0 CPython/3.8.13

File hashes

Hashes for drb_impl_json-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7de9cfe9ba106c71c4c96e4346d057f7489101fa3bca043e6df013f2359049bb
MD5 add6b44820b4889735a2420efc14c55e
BLAKE2b-256 ea5d583734a0494a6dc4e1bfc881478ab7ff5ea9777b8107c86b3689e13c39ee

See more details on using hashes here.

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