Skip to main content

JSON Helpers

Project description

CircleCI Coverage


jsonio

The jsonio package provides utility functions for reading and writing JSON data. It supports the following features:


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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for jsonio, version 0.1.4
Filename, size File type Python version Upload date Hashes
Filename, size jsonio-0.1.4-py2.py3-none-any.whl (6.1 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size jsonio-0.1.4.tar.gz (5.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page