JSON Exporter¶
- class anytree.exporter.jsonexporter.JsonExporter(dictexporter=None, maxlevel=None, **kwargs)[source]¶
Tree to JSON exporter.
The tree is converted to a dictionary via dictexporter and exported to JSON.
- Keyword Arguments:
dictexporter – Dictionary Exporter used (see
DictExporter
).maxlevel (int) – Limit export to this number of levels.
kwargs – All other arguments are passed to
json.dump
/json.dumps
. See documentation for reference.
>>> from anytree import AnyNode >>> from anytree.exporter import JsonExporter >>> root = AnyNode(a="root") >>> s0 = AnyNode(a="sub0", parent=root) >>> s0a = AnyNode(a="sub0A", b="foo", parent=s0) >>> s0b = AnyNode(a="sub0B", parent=s0) >>> s1 = AnyNode(a="sub1", parent=root)
>>> exporter = JsonExporter(indent=2, sort_keys=True) >>> print(exporter.export(root)) { "a": "root", "children": [ { "a": "sub0", "children": [ { "a": "sub0A", "b": "foo" }, { "a": "sub0B" } ] }, { "a": "sub1" } ] }
Note
Whenever the json output does not meet your expections, see the
json
documentation. For instance, if you have unicode/ascii issues, please try JsonExporter(…, ensure_ascii=False).