New submission from Edward O:
_make_iterencode in python2.7/json/encoder.py encodes custom enum types
incorrectly (the label will be printed without '"') because of these lines
(line 320 in 2.7.6):
elif isinstance(value, (int, long)):
yield buf + str(value)
in constract, _make_iterencode in python 3 explicitly supports the enum types:
elif isinstance(value, int):
# Subclasses of int/float may override __str__, but we still
# want to encode them as integers/floats in JSON. One example
# within the standard library is IntEnum.
yield buf + str(int(value))
----------
components: Library (Lib)
messages: 226057
nosy: eddygeek
priority: normal
severity: normal
status: open
title: json encoding broken for
type: behavior
versions: Python 2.7
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue22297>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com