2010-03-18 24 views

risposta

4

Sembra che JSON sia supportato in Windows Phone 7 nello spazio dei nomi System.Runtime.Serialization.Json, si spera che questo sia utile, anche se questa domanda è vecchia di un mese! Le informazioni dal TechDays di Londra (via Twitter) non erano lì personalmente.


Solo un aggiornamento è che lo spazio dei nomi e la classe ho citato qui era errato: ecco lo spazio dei nomi corretto e classe:

System.Servicemodel.Web e la classe è DataContractJsonSerializer per JSON serializzazione e Deserialisation su Windows Phone 7 - mi dispiace per la risposta imprecisa che ho corretto dopo un commento pubblicato qui.

+0

Questo spazio dei nomi non è presente su Windows Phone 7, mi spiace. È in Silverlight, comunque. – legalize

+0

In realtà è supportato in Windows Phone 7 Ho citato il namespace e la classe sbagliati, poiché non ero sicuro di cosa fosse in quel momento, grazie per il commento come mi ricordava. DataContractJsonSerializer in System.Servicemodel.Web viene utilizzato per la serializzazione e deserializzazione JSON non System.Runtime.Serialization.Json poiché questo è lo spazio dei nomi di Silverlight - Avevo assunto che al momento fossero uguali a quando le informazioni nello spazio dei nomi non erano chiare quando Ho risposto. – RoguePlanetoid

2

Mentre DataContractJsonSerializer è disponibile in Silverlight, non sembra disponibile sul CTP di Windows Phone 7. Forse verrà visualizzato più tardi, ma non è lì ora. (Ho provato a utilizzarlo in codice, l'assembly System.Runtime.Serialization non include questa classe e lo official documentation dice che la serializzazione JSON è qualcosa che si trova in Silverlight, ma non in Windows Phone 7.)

Tuttavia, I è stato in grado di prendere la libreria JSON.NET e creare un progetto di libreria WP7. Questo mi ha fornito un'infrastruttura JSON sul telefono che sto usando con successo.

+0

Ho provato ad aggiungere un riferimento alla versione compatta .NET di JSON.NET dal mio progetto dell'app wp7, ma non è riuscita. Stai dicendo che hai ricostruito la fonte? –

2

Nel nostro progetto Windows Phone 7, stiamo utilizzando James Newton-Kings JSON.Net Library. Basta scaricare il codice e aggiungere un riferimento a Newtonsoft.Json.Silverlight. Funziona come un fascino.

+0

Anche io sto usando questo, è un'ottima soluzione per la piattaforma. –

14

Aggiungere un riferimento a System.ServiceModel.Web e il riferimento a System.Runtime.Serialization e dovrebbe funzionare. System.ServiceModel.Web sembra aggiungere .JSON allo spazio dei nomi Serialization.

+0

+1, grazie mille. Questo mi ha aiutato ad arrivare alla fine :-) –

+0

+1, risolto anche il mio problema :) – dargod

+0

Davvero strano che l'aggiunta di System.ServiceModel.Web funzionasse. Aggiunge davvero il dominio .Json alla serializzazione – Frederico