Easier traversing and exploration of JSON structures
Project description
ez-json-traverse
For easier traversing and exploration of JSON structures.
Provides a traversable sequence EZJL
, traversable mapping EZJD
and convenience methods like as_traversable
.
Starting off
$ pip install ez-json-traverse
followed by
from ezjt import as_traversable
Dict stuff
d = {
'a': {'name': 'Jane', 'age': {'unit': 'year', 'value': 12}},
'b': {'name': 'John', 'age': {'unit': 'year', 'value': 14}},
'c': {'name': 'Jill', 'age': {'unit': 'year', 'value': 10}}
}
t = as_traversable(d, sep='.', map_char='^') # EZJD
# Normal key access
t['a'] # EZJD of {'name': 'Jane', 'age': {'unit': 'year', 'value': 12}}
# Path key access
t['a.name'] # 'Jane'
# Mapping across values
t['^.age.value'] # EZJD of [12, 14, 10]
List stuff
l = [[0, [1, 2]], [1, [2, 3]], [2, [3, 4]]]
t = as_traversable(l, sep='.', map_char='^') # EZJL
# Normal key access
t[0] # EZJL of [0, [1, 2]]
t['0'] # EZJL of [0, [1, 2]]
# Path key access
t['0.1.0'] # 1
# Mapping across values
t[':^.1.0'] # EZJL of [1, 2, 3]
t['1:-1^.1.0'] # EZJL of [2]
Other conveniences
t = as_traversable(..., sep='.', map_char='^') # EZJL
t.parent # Parent container
t.root # Root container
t.path # Path from root container to current traversable
t.key # Final key or index of current traversable
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ez-json-traverse-0.2.tar.gz
(4.9 kB
view hashes)
Built Distribution
Close
Hashes for ez_json_traverse-0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea328b22bc1463afb888cee2662ac80cd0996b2698d2388f46b268a70bb1a8d5 |
|
MD5 | aa2bd0f974ba4f3af58d4c0fed60f52c |
|
BLAKE2b-256 | 2ade3dc0195f8669a12d971f6bd66a3f5a99c181f2cfb11db66feb883214aa30 |