You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
earwigmannequin opened this issue
Sep 24, 2020
· 2 comments
Labels
3.8only security fixes3.9only security fixes3.10only security fixesextension-modulesC modules in the Modules dirstdlibPython modules in the Lib dirtype-bugAn unexpected behavior, bug, or error
json.dump vs. json.dumps have inconsistent error messages when encoding NaN with allow_nan=False:
>>> json.dumps(float('nan'), allow_nan=False)
ValueError: Out of range float values are not JSON compliant
>>> json.dump(float('nan'), sys.stdout, allow_nan=False)
ValueError: Out of range float values are not JSON compliant: nan
json.dump's error includes the value (which is useful); json.dumps's does not.
(Separately, is it expected that only one uses the C implementation? This seems it could have unexpected performance implications - without testing, I would've expected json.dump to take the "faster" path since it doesn't need to hold the entire encoded string in memory.)
>>> json.dumps(float('nan'), allow_nan=False)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\wanne\AppData\Local\Programs\Python\Python312\Lib\json\__init__.py", line 238, in dumps**kw).encode(obj)
^^^^^^^^^^^
File "C:\Users\wanne\AppData\Local\Programs\Python\Python312\Lib\json\encoder.py", line 200, in encode
chunks =self.iterencode(o, _one_shot=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\wanne\AppData\Local\Programs\Python\Python312\Lib\json\encoder.py", line 258, in iterencodereturn _iterencode(o, 0)
^^^^^^^^^^^^^^^^^ValueError: Out of range float values are not JSON compliant: nan
3.8only security fixes3.9only security fixes3.10only security fixesextension-modulesC modules in the Modules dirstdlibPython modules in the Lib dirtype-bugAn unexpected behavior, bug, or error
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: