On Thu, Jul 16, 2020, at 02:13, Stephen J. Turnbull wrote:
> Michael A. Smith writes:
> 
>  > It seems to me that obj.encode("json") and str.decode("json"), for example,
>  > would be a powerful feature,
> 
> This idea comes up a lot in various forms.  The most popular lately is
> an optional __json__ dunder, which really would avoid the complication
> of working with custom JSONEncoders.  That hasn't got a lot of takeup,
> though.  Perhaps we could broaden the appeal by generalizing it to
> obj.__serialize__(protocol='json'), but that looks like overengineering
> to me.

This kind of thing [especially having objects directly call their referenced 
objects' serialize methods rather than calling back to some other method to 
serialize them] seems like it would limit the ability of the protocol to handle 
with serialization formats that do anything to handle recursive or shared 
references. Particularly if we're serious about Pickle not being a viable 
foundation for secure deserialization, I think a new serialization protocol 
needs to be flexible enough to handle these cases.
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/CPOPVGEWL2RH6YUUFXO5U6IB5647DYEH/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to