bpo-32360: Remove object_pairs_hook=OrderedDict examples (GH-5001)

This commit is contained in:
INADA Naoki 2018-04-03 12:39:47 +09:00 committed by GitHub
parent badb894bbb
commit 629338f140
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 25 deletions

View File

@ -230,10 +230,8 @@ Basic Usage
*object_pairs_hook* is an optional function that will be called with the *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 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 return value of *object_pairs_hook* will be used instead of the
:class:`dict`. This feature can be used to implement custom decoders that :class:`dict`. This feature can be used to implement custom decoders.
rely on the order that the key and value pairs are decoded (for example, If *object_hook* is also defined, the *object_pairs_hook* takes priority.
:func:`collections.OrderedDict` will remember the order of insertion). If
*object_hook* is also defined, the *object_pairs_hook* takes priority.
.. versionchanged:: 3.1 .. versionchanged:: 3.1
Added support for *object_pairs_hook*. Added support for *object_pairs_hook*.
@ -325,10 +323,8 @@ Encoders and Decoders
*object_pairs_hook*, if specified will be called with the result of every *object_pairs_hook*, if specified will be called with the result of every
JSON object decoded with an ordered list of pairs. The return value of JSON object decoded with an ordered list of pairs. The return value of
*object_pairs_hook* will be used instead of the :class:`dict`. This *object_pairs_hook* will be used instead of the :class:`dict`. This
feature can be used to implement custom decoders that rely on the order feature can be used to implement custom decoders. If *object_hook* is also
that the key and value pairs are decoded (for example, defined, the *object_pairs_hook* takes priority.
:func:`collections.OrderedDict` will remember the order of insertion). If
*object_hook* is also defined, the *object_pairs_hook* takes priority.
.. versionchanged:: 3.1 .. versionchanged:: 3.1
Added support for *object_pairs_hook*. Added support for *object_pairs_hook*.

View File

@ -28,8 +28,7 @@ Encoding basic Python object hierarchies::
Compact encoding:: Compact encoding::
>>> import json >>> import json
>>> from collections import OrderedDict >>> mydict = {'4': 5, '6': 7}
>>> mydict = OrderedDict([('4', 5), ('6', 7)])
>>> json.dumps([1,2,3,mydict], separators=(',', ':')) >>> json.dumps([1,2,3,mydict], separators=(',', ':'))
'[1,2,3,{"4":5,"6":7}]' '[1,2,3,{"4":5,"6":7}]'
@ -285,14 +284,11 @@ def load(fp, *, cls=None, object_hook=None, parse_float=None,
``object_pairs_hook`` is an optional function that will be called with the ``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 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``. 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 This feature can be used to implement custom decoders. If ``object_hook``
order that the key and value pairs are decoded (for example, is also defined, the ``object_pairs_hook`` takes priority.
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`` To use a custom ``JSONDecoder`` subclass, specify it with the ``cls``
kwarg; otherwise ``JSONDecoder`` is used. kwarg; otherwise ``JSONDecoder`` is used.
""" """
return loads(fp.read(), return loads(fp.read(),
cls=cls, object_hook=object_hook, cls=cls, object_hook=object_hook,
@ -313,10 +309,8 @@ def loads(s, *, encoding=None, cls=None, object_hook=None, parse_float=None,
``object_pairs_hook`` is an optional function that will be called with the ``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 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``. 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 This feature can be used to implement custom decoders. If ``object_hook``
order that the key and value pairs are decoded (for example, is also defined, the ``object_pairs_hook`` takes priority.
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 ``parse_float``, if specified, will be called with the string
of every JSON float to be decoded. By default this is equivalent to of every JSON float to be decoded. By default this is equivalent to
@ -337,7 +331,6 @@ def loads(s, *, encoding=None, cls=None, object_hook=None, parse_float=None,
kwarg; otherwise ``JSONDecoder`` is used. kwarg; otherwise ``JSONDecoder`` is used.
The ``encoding`` argument is ignored and deprecated. The ``encoding`` argument is ignored and deprecated.
""" """
if isinstance(s, str): if isinstance(s, str):
if s.startswith('\ufeff'): if s.startswith('\ufeff'):

View File

@ -292,10 +292,8 @@ class JSONDecoder(object):
``object_pairs_hook``, if specified will be called with the result of ``object_pairs_hook``, if specified will be called with the result of
every JSON object decoded with an ordered list of pairs. The return every JSON object decoded with an ordered list of pairs. The return
value of ``object_pairs_hook`` will be used instead of the ``dict``. 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 This feature can be used to implement custom decoders.
order that the key and value pairs are decoded (for example, If ``object_hook`` is also defined, the ``object_pairs_hook`` takes
collections.OrderedDict will remember the order of insertion). If
``object_hook`` is also defined, the ``object_pairs_hook`` takes
priority. priority.
``parse_float``, if specified, will be called with the string ``parse_float``, if specified, will be called with the string
@ -317,7 +315,6 @@ class JSONDecoder(object):
characters will be allowed inside strings. Control characters in characters will be allowed inside strings. Control characters in
this context are those with character codes in the 0-31 range, this context are those with character codes in the 0-31 range,
including ``'\\t'`` (tab), ``'\\n'``, ``'\\r'`` and ``'\\0'``. including ``'\\t'`` (tab), ``'\\n'``, ``'\\r'`` and ``'\\0'``.
""" """
self.object_hook = object_hook self.object_hook = object_hook
self.parse_float = parse_float or float self.parse_float = parse_float or float