On 11 Jan 2014, at 18:46, Marco Olimpi <badst...@gmail.com> wrote: > Hi,
Ciao. Non so perché tu abbia postato in Inglese (forse mero copia incolla da un post in altra lista), ma leggendo l'inglese deduco che possa risponderti tranquillamente in Italiano :P > class User(): > def __init__(self, _name, _lastname): > self.Name = _name > self.LastName = _lastname > > class News(): > def __init__(self, _news,_user): > self.News = _news > self.User = _user > Voglio solo farti notare che questo modo di definire le classi è un cattivo idioma (sia in Python 2 che Python 3). Per inciso: (Python 2) class News(object): […] (Python 3) class News: […] L'argomento è stato ampiamente trattato altrove e un buon manuale può risolverti qualsiasi dubbio. > > than i create my class in my code: > > ... > myUser = User("Mario","Rossi") > myNews = News("My last news", myUser) > > JSONstring = dumps(myNews) > ... > Tornando a noi: deduco che tu stia utilizzando `simplejson.dumps` > but in the last line of code i get the error that the News class is not JSON > serializable. > Anche in questo caso, la questione è arci-nota. Basterebbe google per questo! Ad ogni modo: http://simplejson.readthedocs.org/en/latest/#encoders-and-decoders La questione è che devi definire un `custom_encoder` per codificare un oggetto custom. Banalmente questo: def custom_encoder(obj): if isinstance(obj, News): return obj.to_json() return simplejson.encoder(obj) JSONstring = dumps(range(2), default=custom_encoder) dovrebbe risolverti il problema. Quello che ti resta da fare è implementare il metodo `to_json` nella classe `News` che faccia al caso tuo, ricordando quali siano le conversioni di tipo Python2JSON di default (trovi una tabella a riguardo nella documentazione che ti ho segnalato). Ciao -- valerio
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python