Bug report
When you try to serialize a NaN, inf or -inf with json.dumps(..., allow_nan=False), the error messages are inconsistent, depending on whether you use the indent argument or not.
>>> json.dumps(float('nan'), allow_nan=False)
ValueError: Out of range float values are not JSON compliant
>>> json.dumps(float('nan'), allow_nan=False, indent=4)
ValueError: Out of range float values are not JSON compliant: nan
That is because if you don't use indent, the encoding is done in C code here,
but if you use indent, the encoding is done in pure Python code here, and the error messages are different between the two.
Your environment
- CPython versions tested on: 3.11.0
- Operating system and architecture: MacOS 12.6, Apple Silicon
Linked PRs
Bug report
When you try to serialize a
NaN,infor-infwithjson.dumps(..., allow_nan=False), the error messages are inconsistent, depending on whether you use theindentargument or not.That is because if you don't use
indent, the encoding is done in C code here,but if you use
indent, the encoding is done in pure Python code here, and the error messages are different between the two.Your environment
Linked PRs
json.dumps()error messages #99926