Désérialiser des Objets JSON
Bonjour à tous,
C'est un projet WP7 ;)
J'ai une exception lors de l'utilisation de DataContractJsonSerializer pour récupérer mes objets Json, j'ai utilisé le code indiqué ici :
http://timheuer.com/blog/archive/200...lverlight.aspx
voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
public void LoadData()
{
WebClient proxy = new WebClient();
proxy.OpenReadCompleted += new OpenReadCompletedEventHandler(proxy_OpenReadCompleted);
proxy.OpenReadAsync(new Uri("http://toto.google.com/projects"));
}
void proxy_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
Stream strm = e.Result;
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Project[]));
Project[] ppl = (Project[])ser.ReadObject(strm);
if (ppl.Length > 0)
{
// do something with the data
// bind, interate, whatever
foreach (Project project in ppl)
{
Projects.Add(project);
}
}
} |
Avec :
Code:
1 2 3 4 5 6
|
public class Project
{
public string id { get; set; }
public string name { get; set; }
} |
L'exception est : InvalidCastException sur cette ligne
Code:
Project[] ppl = (Project[])ser.ReadObject(strm);
Avec comme résultat de mon appel :
Citation:
{"projects":[{"id":13002,"name":"test"},{"id":23001,"name":"A test Project"},{"id":27001,"name":"Prez"},{"id":28001,"name":"testeur"},{"id":32001,"name":"TestAjout"}]}
Merci d'avance pour toutes pistes