JSON Tools
Collection of JSON tools for Python 3 that help developers work with JSON (Javascript Object Notation) easier.
The source for this project is available here.
Overview
FrozenJSON
Allows a JSON to be loaded into a pseudo python object dynamically.
This idea and conception was from the book "Fluent Python: Clear, Concise, and Effective Programming" by Luciano Ramalho.
Basic Usage
For example, say we have a JSON in a file that looks like the following:
{
"_id": "5e52d75618947399f093ac7d",
"isActive": false,
"picture": "http://placehold.it/32x32",
"latitude": -49.694182,
"longitude": 126.901299,
"tags": [
"non",
"est",
"sint"
]
}
If a developer wanted to treat this JSON as a python object, they could create a FrozenJSON using the following syntax:
import FrozenJSON
x = Frozen.of(<file_path>)
print(x.isActive)
...False
print(x.tags)
...["non","est","sint"]
print(x.tags[0])
..."non"
The of method is a dynamic constructor that is able to discern whether the data passed in a JSON string, the path to a file, a reference to a file itself, or a python dictionary.
So something like below is perfectly legal:
import FrozenJSON
data = {
"name": "Ryan Long",
"class": "Geometry"
}
x = FrozenJSON.of(data)
print(x.name)
..."Ryan Long"
print(x.class_)
..."Geometry"
Notice that although class is a keyword, FrozenJSON is still able to assign it to a key by
appending "_" to the end. This is true for all python keywords that are also used as keys
and happens automatically.
Release files for rlt-json-tools 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rlt-json-tools-0.0.2.tar.gz | 6.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rlt_json_tools-0.0.2-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 10.0 kB
Release files / rlt-json-tools-0.0.2.tar.gz
| Download URL | rlt-json-tools-0.0.2.tar.gz |
|---|---|
| Size | 6.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fa5b423cfd5b6c911742bb19a6c9edd5712f8731d50839179f68fdaf2a1a57c4
|
|
BLAKE2b-256 checksum How to use checksums |
a3c780174a6855c879837c61e75803875bf9c08e34bb656b3ed3ed99d2a60069
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.0
|
Release files / rlt_json_tools-0.0.2-py2.py3-none-any.whl
| Download URL | rlt_json_tools-0.0.2-py2.py3-none-any.whl |
|---|---|
| Size | 3.3 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
b4d0aace4435bc555e80aa511ac9c9e0d4938ac2a0589c9915a2b1457bd7d85c
|
|
BLAKE2b-256 checksum How to use checksums |
e256a3a97562e7b2e95b9b05b79718f5453acf5c837a96b94b834ed177a81441
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.0
|