diff options
| author | Georg Brandl <georg@python.org> | 2010-10-15 17:04:45 (GMT) |
|---|---|---|
| committer | Georg Brandl <georg@python.org> | 2010-10-15 17:04:45 (GMT) |
| commit | db949b8fae924a852fc68fea9a01fc04fd868758 (patch) | |
| tree | 18dfa1c331aeca22a6850e47a6a7af7891294c99 /Lib/json/__init__.py | |
| parent | 44c3ceb8aca1bc1bbb6de97a69fedfef360e590a (diff) | |
| download | cpython-db949b8fae924a852fc68fea9a01fc04fd868758.zip cpython-db949b8fae924a852fc68fea9a01fc04fd868758.tar.gz cpython-db949b8fae924a852fc68fea9a01fc04fd868758.tar.bz2 | |
Recorded merge of revisions 85543 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r85543 | georg.brandl | 2010-10-15 19:03:02 +0200 (Fr, 15 Okt 2010) | 1 line
#4785: document strict argument of JSONDecoder, plus add object_pairs_hook in the docstrings.
........
Diffstat (limited to 'Lib/json/__init__.py')
| -rw-r--r-- | Lib/json/__init__.py | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/Lib/json/__init__.py b/Lib/json/__init__.py index ba584a3..414c702 100644 --- a/Lib/json/__init__.py +++ b/Lib/json/__init__.py @@ -160,7 +160,7 @@ def dump(obj, fp, skipkeys=False, ensure_ascii=True, check_circular=True, To use a custom ``JSONEncoder`` subclass (e.g. one that overrides the ``.default()`` method to serialize additional types), specify it with - the ``cls`` kwarg. + the ``cls`` kwarg; otherwise ``JSONEncoder`` is used. """ # cached encoder @@ -220,7 +220,7 @@ def dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, To use a custom ``JSONEncoder`` subclass (e.g. one that overrides the ``.default()`` method to serialize additional types), specify it with - the ``cls`` kwarg. + the ``cls`` kwarg; otherwise ``JSONEncoder`` is used. """ # cached encoder @@ -259,8 +259,16 @@ def load(fp, encoding=None, cls=None, object_hook=None, parse_float=None, ``object_hook`` will be used instead of the ``dict``. This feature can be used to implement custom decoders (e.g. JSON-RPC class hinting). + ``object_pairs_hook`` is an optional function that will be called with the + result of any object literal decoded with an ordered list of pairs. The + return value of ``object_pairs_hook`` will be used instead of the ``dict``. + This feature can be used to implement custom decoders that rely on the + order that the key and value pairs are decoded (for example, + collections.OrderedDict will remember the order of insertion). If + ``object_hook`` is also defined, the ``object_pairs_hook`` takes priority. + To use a custom ``JSONDecoder`` subclass, specify it with the ``cls`` - kwarg. + kwarg; otherwise ``JSONDecoder`` is used. """ return loads(fp.read(), @@ -285,6 +293,14 @@ def loads(s, encoding=None, cls=None, object_hook=None, parse_float=None, ``object_hook`` will be used instead of the ``dict``. This feature can be used to implement custom decoders (e.g. JSON-RPC class hinting). + ``object_pairs_hook`` is an optional function that will be called with the + result of any object literal decoded with an ordered list of pairs. The + return value of ``object_pairs_hook`` will be used instead of the ``dict``. + This feature can be used to implement custom decoders that rely on the + order that the key and value pairs are decoded (for example, + collections.OrderedDict will remember the order of insertion). If + ``object_hook`` is also defined, the ``object_pairs_hook`` takes priority. + ``parse_float``, if specified, will be called with the string of every JSON float to be decoded. By default this is equivalent to float(num_str). This can be used to use another datatype or parser @@ -301,7 +317,7 @@ def loads(s, encoding=None, cls=None, object_hook=None, parse_float=None, are encountered. To use a custom ``JSONDecoder`` subclass, specify it with the ``cls`` - kwarg. + kwarg; otherwise ``JSONDecoder`` is used. """ if (cls is None and encoding is None and object_hook is None and |
