bpo-39377: json: Remove the encoding option. (GH-18075)
This commit is contained in:
parent
e96d954527
commit
5492bfcefe
|
@ -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):
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
Removed ``encoding`` option from :func:`json.loads`. It has been deprecated
|
||||
since Python 3.1.
|
Loading…
Reference in New Issue