instance containing a JSON document) to a Python object using this
:ref:`conversion table <json-to-py-table>`.
- The other arguments have the same meaning as in :func:`load`, except
- *encoding* which is ignored and deprecated since Python 3.1.
+ The other arguments have the same meaning as in :func:`load`.
If the data being deserialized is not a valid JSON document, a
:exc:`JSONDecodeError` will be raised.
- .. deprecated-removed:: 3.1 3.9
- *encoding* keyword argument.
-
.. versionchanged:: 3.6
*s* can now be of type :class:`bytes` or :class:`bytearray`. The
input encoding should be UTF-8, UTF-16 or UTF-32.
+ .. versionchanged:: 3.9
+ The keyword argument *encoding* has been removed.
+
Encoders and Decoders
---------------------
(Contributed by Victor Stinner in :issue:`39350`.)
* The *buffering* parameter of :class:`bz2.BZ2File` has been removed. Since
- Python 3.0, it was ignored and using it was emitting
- :exc:`DeprecationWarning`. Pass an open file object to control how the file
- is opened.
+ Python 3.0, it was ignored and using it emitted a :exc:`DeprecationWarning`.
+ Pass an open file object to control how the file is opened.
(Contributed by Victor Stinner in :issue:`39357`.)
+* The *encoding* parameter of :func:`json.loads` has been removed.
+ As of Python 3.1, it was deprecated and ignored; using it has emitted a
+ :exc:`DeprecationWarning` since Python 3.8.
+ (Contributed by Inada Naoki in :issue:`39377`)
+
Porting to Python 3.9
=====================