[pyar] JSON sobre instancias.

Martin Chikilian slacklinucs en gmail.com
Mie Feb 8 12:58:59 ART 2012


Cuando implementás default(), tenés que llamar al método en la superclase
para cuando no se cumple la condición de que el objeto pasado sea instancia
de tu clase.

Dicho en código:

def default(self, obj):
    if isinstance(obj, pepe):
        return obj.__dict__
*    else:*
*        return JSONEncoder.default(self, obj)*

Se puede leer más en
http://docs.python.org/library/json.html#json.JSONEncoder.default

2012/2/8 DF-- <dj.foguelman en gmail.com>

> 2012/2/8 DF-- <dj.foguelman en gmail.com>
>
>> Alguno extendió JSONEncoder para serializar en JSON objectos?
>>
>> Quiero hacer un dump de una instancia de pepe:
>>
>> class pepe:
>>     p = 3
>>     def __init__(self):
>>         j = 5
>>
>
> Solucionado!
>
>
> In [0]: class pepe():
>     p = None
>     def __init__(self):
>         self.j = 3
>
> In [1]: class ComplexEncoder(simplejson.JSONEncoder):
>    ....:     def default(self, obj):
>    ....:         if isinstance(obj, pepe):
>    ....:             return obj.__dict__
>
> ln[2] : simplejson.dumps(pepe(), cls=ComplexEncoder)
> Out[2]: '{"j": 3}'
>
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20120208/ffeb6320/attachment.html>


More information about the pyar mailing list