Open
Description
json.load()
documentation lists JSONDecodeError
and UnicodeDecodeError
as the exceptions that can be raised.
But in https://news.ycombinator.com/item?id=44344864 it was noted that RecursionError
is possible too:
>>> import json
>>> json.loads('[' * 9999)
Traceback (most recent call last):
File "<python-input-1>", line 1, in <module>
json.loads('[' * 9999)
~~~~~~~~~~^^^^^^^^^^^^
File "/usr/lib/python3.13/json/__init__.py", line 346, in loads
return _default_decoder.decode(s)
~~~~~~~~~~~~~~~~~~~~~~~^^^
File "/usr/lib/python3.13/json/decoder.py", line 345, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/json/decoder.py", line 361, in raw_decode
obj, end = self.scan_once(s, idx)
~~~~~~~~~~~~~~^^^^^^^^
RecursionError: maximum recursion depth exceeded while decoding a JSON array from a unicode string
Metadata
Metadata
Assignees
Projects
Status
Todo