#16057: Clarify why the base method default is called in custom encoders.

Original patch by Kushal Das.
This commit is contained in:
R David Murray 2013-03-17 21:52:35 -04:00
parent f3460414d5
commit dd246171e4
2 changed files with 3 additions and 0 deletions

View File

@ -83,6 +83,7 @@ Extending :class:`JSONEncoder`::
... def default(self, obj):
... if isinstance(obj, complex):
... return [obj.real, obj.imag]
... # Let the base class default method raise the TypeError
... return json.JSONEncoder.default(self, obj)
...
>>> json.dumps(2 + 1j, cls=ComplexEncoder)
@ -431,6 +432,7 @@ Encoders and Decoders
pass
else:
return list(iterable)
# Let the base class default method raise the TypeError
return json.JSONEncoder.default(self, o)

View File

@ -166,6 +166,7 @@ class JSONEncoder(object):
pass
else:
return list(iterable)
# Let the base class default method raise the TypeError
return JSONEncoder.default(self, o)
"""