summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorInada Naoki <songofacandy@gmail.com>2020-01-20 04:54:00 (GMT)
committerGitHub <noreply@github.com>2020-01-20 04:54:00 (GMT)
commit5492bfcefec67b016e8239c0e9135bc2f03e3058 (patch)
tree4f37014e587cdec0340a77e65db720bdf83e094e
parente96d954527aa376457451e32a9d75ae3ea9ab4bd (diff)
downloadcpython-5492bfcefec67b016e8239c0e9135bc2f03e3058.zip
cpython-5492bfcefec67b016e8239c0e9135bc2f03e3058.tar.gz
cpython-5492bfcefec67b016e8239c0e9135bc2f03e3058.tar.bz2
bpo-39377: json: Remove the encoding option. (GH-18075)
-rw-r--r--Lib/json/__init__.py11
-rw-r--r--Lib/test/test_json/test_decode.py4
-rw-r--r--Misc/NEWS.d/next/Library/2020-01-20-13-00-35.bpo-39377.QSFdaU.rst2
3 files changed, 2 insertions, 15 deletions
diff --git a/Lib/json/__init__.py b/Lib/json/__init__.py
index 1ba8b48..2c52bde 100644
--- a/Lib/json/__init__.py
+++ b/Lib/json/__init__.py
@@ -329,8 +329,6 @@ def loads(s, *, cls=None, object_hook=None, parse_float=None,
To use a custom ``JSONDecoder`` subclass, specify it with the ``cls``
kwarg; otherwise ``JSONDecoder`` is used.
-
- The ``encoding`` argument is ignored and deprecated since Python 3.1.
"""
if isinstance(s, str):
if s.startswith('\ufeff'):
@@ -342,15 +340,6 @@ def loads(s, *, cls=None, object_hook=None, parse_float=None,
f'not {s.__class__.__name__}')
s = s.decode(detect_encoding(s), 'surrogatepass')
- if "encoding" in kw:
- import warnings
- warnings.warn(
- "'encoding' is ignored and deprecated. It will be removed in Python 3.9",
- DeprecationWarning,
- stacklevel=2
- )
- del kw['encoding']
-
if (cls is None and object_hook is None and
parse_int is None and parse_float is None and
parse_constant is None and object_pairs_hook is None and not kw):
diff --git a/Lib/test/test_json/test_decode.py b/Lib/test/test_json/test_decode.py
index 895c95b..fdb9e62 100644
--- a/Lib/test/test_json/test_decode.py
+++ b/Lib/test/test_json/test_decode.py
@@ -95,9 +95,5 @@ class TestDecode:
d = self.json.JSONDecoder()
self.assertRaises(ValueError, d.raw_decode, 'a'*42, -50000)
- def test_deprecated_encode(self):
- with self.assertWarns(DeprecationWarning):
- self.loads('{}', encoding='fake')
-
class TestPyDecode(TestDecode, PyTest): pass
class TestCDecode(TestDecode, CTest): pass
diff --git a/Misc/NEWS.d/next/Library/2020-01-20-13-00-35.bpo-39377.QSFdaU.rst b/Misc/NEWS.d/next/Library/2020-01-20-13-00-35.bpo-39377.QSFdaU.rst
new file mode 100644
index 0000000..8493ac8
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2020-01-20-13-00-35.bpo-39377.QSFdaU.rst
@@ -0,0 +1,2 @@
+Removed ``encoding`` option from :func:`json.loads`. It has been deprecated
+since Python 3.1.