On 10/26/2011 5:14 AM, Amirouche Boubekki wrote:
Héllo,
I would like to fork simplejson [1] and implement serialization rules
based on protocols instead of types [2], plus special cases for protocol
free objects, that breaks compatibility. The benefit will be a better
API for json serialization of custom classes and in the case of iterable
it will avoid a calls like:
>>> simplejson.dumps(list(my_iterable))
The serialization of custom objects is documented in the class instead
of the ``default`` function of current simplejson implementation [3].
The encoding algorithm works with a priority list that is summarized in
the next table:
+-------------------+---------------+
| Python protocol | JSON |
| or special case | |
+===================+===============+
| (ø) __json__ | see (ø) |
+-------------------+---------------|
| map | object |
I am curious what you mean by the 'map' protocol.
> Where are documented the different protocols implemented by Python
objects ?
Ref 3.3 special method names (and elsewhere ;-)
http://docs.python.org/py3k/reference/datamodel.html#special-method-names
---
Terry Jan Reedy
--
http://mail.python.org/mailman/listinfo/python-list