JSON Helpers
Project description
jsonio
The jsonio
package provides utility functions for reading and writing JSON data. It supports the following features:
- Easy Read/Write
- Works Just Like The
json
Library - Supports
datetime/date
Objects - Supports
dataclasses
(Python 3.7+) - Preserve Ordering
Installation
pip install jsonio
Easy Read/Write
Read
import jsonio
data = jsonio.read('/foo/bar.json')
Write
import jsonio
jsonio.write({'foo': 'bar'}, '/foo/bar.json')
Works Just Like The json
Library
Load
import jsonio
with open('/foo/bar.json', 'r') as jsonfile:
data = jsonio.load(jsonfile)
Loads
import jsonio
data = jsonio.loads('{"foo": "bar"}')
Dump
import jsonio
with open('/foo/bar.json', 'w') as jsonfile:
jsonio.dump({'foo': 'bar'}, jsonfile)
Dumps
import jsonio
data = {
'apple': 'crumble',
'banana': 'split',
}
# Use standard options.
text = jsonio.dumps(data, jsonfile, indent=2, sort_keys=True)
Supports date/datetime
Objects
import datetime
import jsonio
before = {
'date': datetime.date.today(),
'timestamp': datetime.datetime.now(),
}
data = jsonio.dumps(before)
after = jsonio.loads(data)
assert before == after # True
Supports dataclasses
(Python 3.7+)
from dataclasses import dataclass
import jsonio
@dataclass
class Fruit:
apple: str
banana: str
before = Fruit(apple='Fuji', banana='Lady Finger')
data = jsonio.dumps(before)
after = jsonio.loads(data)
assert before == after # True
Preserve Ordering - i.e. OrderedDict
Objects
import collections
import jsonio
before = collections.OrderedDict([('banana', 'split'), ('apple', 'crumble')])
text = jsonio.dumps(before, indent=2)
after = jsonio.loads(text, ordered=True)
assert before == after # True
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
jsonio-0.1.4.tar.gz
(5.1 kB
view details)
Built Distribution
File details
Details for the file jsonio-0.1.4.tar.gz
.
File metadata
- Download URL: jsonio-0.1.4.tar.gz
- Upload date:
- Size: 5.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3aaacb6162089af963db526a3cf2bb3905fb155aa06fbc2d3c7ce171fee8b71 |
|
MD5 | 5abe76f2ea6a057259c7162a375e4604 |
|
BLAKE2b-256 | ba211003b5167f802c79a1834998f9591a1fcfe9bc751a934613053aaf1cb0d6 |
File details
Details for the file jsonio-0.1.4-py2.py3-none-any.whl
.
File metadata
- Download URL: jsonio-0.1.4-py2.py3-none-any.whl
- Upload date:
- Size: 6.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b5d1611243a795f8de4ddda746f52cf09758d53c64b4e55a3a8ab1c8e40de08 |
|
MD5 | 26006d6b92669d47db66dd981ced2abe |
|
BLAKE2b-256 | a85cbf3ca5706d4e7e7c86c2031fc771eba093c273f936ea9f6ee545e0f8ad5f |