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.

Filename, size & hash SHA256 hash help File type Python version Upload date
jsonio-0.1.4-py2.py3-none-any.whl (6.1 kB) Copy SHA256 hash SHA256 Wheel py2.py3
jsonio-0.1.4.tar.gz (5.1 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page