xonsh.lib.lazyjson¶
Implements a lazy JSON file class that wraps around json data.
- class xonsh.lib.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 ¶
- values() an object providing a view on D's values ¶
- class xonsh.lib.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.
- 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 ¶