xonsh.lazyjson#

Implements a lazy JSON file class that wraps around json data.

class xonsh.lazyjson.LJNode(offsets, sizes, root)[source]#

A proxy node for JSON nodes. Acts as both sequence and mapping.

Parameters:
offsetsdict, list, or int

offsets of corresponding data structure, in bytes

sizesdict, list, or int

sizes of corresponding data structure, in bytes

rootweakref.proxy of LazyJSON

weakref back to root node, which should be a LazyJSON object.

count(value) integer -- return number of occurrences of value#
get(k[, d]) D[k] if k in D, else d.  d defaults to None.#
index(value[, start[, stop]]) integer -- return first index of value.#

Raises ValueError if the value is not present.

Supporting start and stop arguments is optional, but recommended.

items() a set-like object providing a view on D's items#
keys() a set-like object providing a view on D's keys#
load()[source]#

Returns the Python data structure represented by the node.

values() an object providing a view on D's values#
class xonsh.lazyjson.LazyJSON(f, reopen=True)[source]#

Represents a lazy json file. Can be used like a normal Python dict or list.

Parameters:
ffile handle or str

JSON file to open.

reopenbool, optional

Whether new file handle should be opened for each load.

close()[source]#

Close the file handle, if appropriate.

count(value) integer -- return number of occurrences of value#
get(k[, d]) D[k] if k in D, else d.  d defaults to None.#
index(value[, start[, stop]]) integer -- return first index of value.#

Raises ValueError if the value is not present.

Supporting start and stop arguments is optional, but recommended.

items() a set-like object providing a view on D's items#
keys() a set-like object providing a view on D's keys#
load()#

Returns the Python data structure represented by the node.

values() an object providing a view on D's values#
xonsh.lazyjson.dumps(obj, sort_keys=False)[source]#

Dumps an object to JSON with an index.

xonsh.lazyjson.index(obj, sort_keys=False)[source]#

Creates an index for a JSON file.

xonsh.lazyjson.ljdump(obj, fp, sort_keys=False)[source]#

Dumps an object to JSON file.