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 hashes)
Built Distribution
Close
Hashes for jsonio-0.1.4-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b5d1611243a795f8de4ddda746f52cf09758d53c64b4e55a3a8ab1c8e40de08 |
|
MD5 | 26006d6b92669d47db66dd981ced2abe |
|
BLAKE2b-256 | a85cbf3ca5706d4e7e7c86c2031fc771eba093c273f936ea9f6ee545e0f8ad5f |