json.dump(obj, fp, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)
Serialize obj as a JSON formatted stream to fp (a .write()
-supporting file-like object) using this conversion table.
If skipkeys is true (default: False
), then dict keys that are not of a basic type (str
, int
, float
, bool
, None
) will be skipped instead of raising a TypeError
.
The json
module always produces str
objects, not bytes
objects. Therefore, fp.write()
must support str
input.
If ensure_ascii is true (the default), the output is guaranteed to have all incoming non-ASCII characters escaped. If ensure_ascii is false, these characters will be output as-is.
If check_circular is false (default: True
), then the circular reference check for container types will be skipped and a circular reference will result in an OverflowError
(or worse).
If allow_nan is false (default: True
), then it will be a ValueError
to serialize out of range float
values (nan
, inf
, -inf
) in strict compliance of the JSON specification. If allow_nan is true, their JavaScript equivalents (NaN
, Infinity
, -Infinity
) will be used.
If indent is a non-negative integer or string, then JSON array elements and object members will be pretty-printed with that indent level. An indent level of 0, negative, or ""
will only insert newlines. None
(the default) selects the most compact representation. Using a positive integer indent indents that many spaces per level. If indent is a string (such as "\t"
), that string is used to indent each level.
Changed in version 3.2: Allow strings for indent in addition to integers.
If specified, separators should be an (item_separator, key_separator)
tuple. The default is (', ', ': ')
if indent is None
and (',', ': ')
otherwise. To get the most compact JSON representation, you should specify (',', ':')
to eliminate whitespace.
Changed in version 3.4: Use (',', ': ')
as default if indent is not None
.
If specified, default should be a function that gets called for objects that can’t otherwise be serialized. It should return a JSON encodable version of the object or raise a TypeError
. If not specified, TypeError
is raised.
If sort_keys is true (default: False
), then the output of dictionaries will be sorted by key.
To use a custom JSONEncoder
subclass (e.g. one that overrides the default()
method to serialize additional types), specify it with the cls kwarg; otherwise JSONEncoder
is used.
Please login to continue.