cpython: 090484ccba7d (original) (raw)
--- a/Doc/library/json.rst +++ b/Doc/library/json.rst @@ -116,7 +116,10 @@ Using json.tool from the shell to valida Basic Usage ----------- -.. function:: dump(obj, fp, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, **kw) +.. function:: dump(obj, fp, skipkeys=False, ensure_ascii=True, [](#l1.8)
check_circular=True, allow_nan=True, cls=None, \[](#l1.9)
indent=None, separators=None, default=None, \[](#l1.10)
sort_keys=False, **kw)[](#l1.11)
Serialize obj as a JSON formatted stream to fp (a .write()
-supporting
:term:file-like object
).
@@ -159,12 +162,18 @@ Basic Usage
default(obj) is a function that should return a serializable version of
obj or raise :exc:TypeError
. The default simply raises :exc:TypeError
.
- If sort_keys is
True
(default:False
), then the output of - dictionaries will be sorted by key.
+
To use a custom :class:
JSONEncoder
subclass (e.g. one that overrides the :meth:default
method to serialize additional types), specify it with the cls kwarg; otherwise :class:JSONEncoder
is used.
-.. function:: dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, **kw) +.. function:: dumps(obj, skipkeys=False, ensure_ascii=True, [](#l1.28)
check_circular=True, allow_nan=True, cls=None, \[](#l1.29)
indent=None, separators=None, default=None, \[](#l1.30)
sort_keys=False, **kw)[](#l1.31)
Serialize obj to a JSON formatted :class:str
. The arguments have the
same meaning as in :func:dump
.
--- a/Lib/json/init.py +++ b/Lib/json/init.py @@ -122,7 +122,7 @@ from .encoder import JSONEncoder def dump(obj, fp, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None,
default=None, **kw):[](#l2.7)
"""Serializedefault=None, sort_keys=False, **kw):[](#l2.8)
obj
as a JSON formatted stream tofp
(a.write()
-supporting file-like object). @@ -155,6 +155,9 @@ def dump(obj, fp, skipkeys=False, ensuredefault(obj)
is a function that should return a serializable version of obj or raise TypeError. The default simply raises TypeError.- 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.
@@ -164,7 +167,7 @@ def dump(obj, fp, skipkeys=False, ensure
if (not skipkeys and ensure_ascii and
check_circular and allow_nan and
cls is None and indent is None and separators is None and
default is None and not kw):[](#l2.26)
else: if cls is None:default is None and not sort_keys and not kw):[](#l2.27) iterable = _default_encoder.iterencode(obj)[](#l2.28)
@@ -172,7 +175,7 @@ def dump(obj, fp, skipkeys=False, ensure iterable = cls(skipkeys=skipkeys, ensure_ascii=ensure_ascii, check_circular=check_circular, allow_nan=allow_nan, indent=indent, separators=separators,
default=default, **kw).iterencode(obj)[](#l2.35)
default=default, sort_keys=sort_keys, **kw).iterencode(obj)[](#l2.36)
could accelerate with writelines in some versions of Python, at
for chunk in iterable: a debuggability cost @@ -181,7 +184,7 @@ def dump(obj, fp, skipkeys=False, ensure def dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None,
default=None, **kw):[](#l2.44)
"""Serializedefault=None, sort_keys=False, **kw):[](#l2.45)
obj
to a JSON formattedstr
. Ifskipkeys
is false thendict
keys that are not basic types @@ -213,6 +216,9 @@ def dumps(obj, skipkeys=False, ensure_asdefault(obj)
is a function that should return a serializable version of obj or raise TypeError. The default simply raises TypeError.- 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.
@@ -222,14 +228,14 @@ def dumps(obj, skipkeys=False, ensure_as
if (not skipkeys and ensure_ascii and
check_circular and allow_nan and
cls is None and indent is None and separators is None and
default is None and not kw):[](#l2.63)
if cls is None: cls = JSONEncoder return cls( skipkeys=skipkeys, ensure_ascii=ensure_ascii, check_circular=check_circular, allow_nan=allow_nan, indent=indent,default is None and not sort_keys and not kw):[](#l2.64) return _default_encoder.encode(obj)[](#l2.65)
separators=separators, default=default,[](#l2.71)
separators=separators, default=default, sort_keys=sort_keys,[](#l2.72) **kw).encode(obj)[](#l2.73)