<div dir="ltr">Scusate, l'abitudine di scrivere in inglese! :P<div><br></div><div>Premetto che sono un programmatore C# e sto passando a Python. Quindi leggendo documentazione su internet ho trovato questi mediti di dichiarazione delle classi.</div>
<div><br></div><div>Ti ringrazio per i suggerimenti e provo subito.</div><div><br></div><div>Grazie ancora.</div><div><br></div><div>Ciao</div><div><br></div><div>Marco</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
2014/1/11 Valerio Maggio <span dir="ltr"><<a href="mailto:valerio.maggio@gmail.com" target="_blank">valerio.maggio@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word"><br><div><div>On 11 Jan 2014, at 18:46, Marco Olimpi <<a href="mailto:badstorm@gmail.com" target="_blank">badstorm@gmail.com</a>> wrote:</div><br><blockquote type="cite"><div dir="ltr">
Hi, </div></blockquote><div><br></div><div>Ciao.</div><div>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</div>
<div class="im"><br><blockquote type="cite"><div dir="ltr"><div><b>class User():</b></div><div><b>  def __init__(self, _name, _lastname):</b></div>
<div><b>       self.Name = _name</b></div><div><b>       self.LastName = _lastname</b></div><div><b><br></b></div><div><b>class News():</b></div><div><b>  def __init__(self, _news,_user):</b></div><div><b>       self.News = _news</b></div>

<div><b>       self.User = _user</b></div><div><br></div></div></blockquote><div><br></div></div><div>Voglio solo farti notare che questo modo di definire le classi è un cattivo idioma (sia in Python 2 che Python 3).</div>
<div>Per inciso:</div><div><br></div><div>(Python 2)</div><div>class News(object):</div><div>    […]</div><div><br></div><div>(Python 3)</div><div>class News:</div><div>    […]</div><div><br></div><div>L'argomento è stato ampiamente trattato altrove e un buon manuale può risolverti qualsiasi dubbio.</div>
<div class="im"><br><blockquote type="cite"><div dir="ltr"><div><br></div><div>than i create my class in my code:</div><div><br></div><div>...</div><div><b>myUser = User("Mario","Rossi")</b></div><div>
<b>myNews = News("My last news", myUser)</b></div>
<div><b><br></b></div><div><b>JSONstring = dumps(myNews)</b></div><div>...</div><div><br></div></div></blockquote><div><br></div></div><div>Tornando a noi: deduco che tu stia utilizzando `simplejson.dumps`</div><div class="im">
<br><blockquote type="cite"><div dir="ltr"><div>but in the last line of code i get the error that the News class is not JSON serializable.</div><div><br></div>
</div></blockquote><div><br></div></div>Anche in questo caso, la questione è arci-nota. Basterebbe google per questo!</div><div>Ad ogni modo: <a href="http://simplejson.readthedocs.org/en/latest/#encoders-and-decoders" target="_blank">http://simplejson.readthedocs.org/en/latest/#encoders-and-decoders</a></div>
<div><br></div><div>La questione è che devi definire un `custom_encoder` per codificare un oggetto custom.</div><div>Banalmente questo:</div><div><br></div><div><div>def custom_encoder(obj):</div><div>    if isinstance(obj, News):</div>
<div>        return obj.to_json()</div><div>    return simplejson.encoder(obj)</div><div><br></div><div>JSONstring = dumps(range(2), default=custom_encoder)</div><div><br></div><div>dovrebbe risolverti il problema.</div><div>
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 </div><div>(trovi una tabella a riguardo nella documentazione che ti ho segnalato).</div>
<div><br></div><div>Ciao</div></div><div>
--<br>valerio<br><br>

</div>
<br></div></blockquote></div><br></div>