[Python-ideas] Json object-level serializer

Daniel Fetchinson fetchinson at googlemail.com
Thu Jul 29 15:19:56 CEST 2010


>> > What about adding in the json package the ability for an object to
>> > provide a different object to serialize ?
>> > This would be useful to translate a class into a structure that can be
>> > passed to json.dumps
>> >
>> > So, it __json__ is provided, its used for serialization instead of the
>> > object itself:
>> >
>> >>>> import json
>> >>>> class MyComplexClass(object):
>> > ...     def __json__(self):
>> > ...         return 'json'
>> > ...
>> >>>> o = MyComplexClass()
>> >>>> json.dumps(o)
>> > '"json"'
>>
>> Have a look at turbojson [1], the jsonification package that uses
>> peak.rules [2] and which comes with turbogears [3]. It does exactly
>> what you propose.
>
> That it uses PEAK-Rules is probably a good reason to avoid it.

Why?

> Also, AFAIK, TurboGears have stopped using turbojson and relies on
> [simple]json instead.

That might be true for turbogears2 but turbogears1 (which is still in
active development) still uses turbojson. Turbogears 1 and 2 diverged
so much that it would be more appropriate to call them different names
and consider them different projects (I personally use and prefer
tg1).

Cheers,
Daniel


-- 
Psss, psss, put it down! - http://www.cafepress.com/putitdown



More information about the Python-ideas mailing list