2010-02-03 8 views
4

Je souhaite obtenir une réponse de WebServer.Parse JSON dans .NET runtime

Les données de retour ressemble à ceci:

[[3014887,"string1 string","http://num60.webservice.com/u3014887/b_c9c0625b.jpg",0], 
[3061529,"string2 string","http://num879.webservice.com/u3061529/b_320d6d36.jpg",0], 
[7317649,"string3 string","http://num1233.webservice.com/u7317649/b_a60b3dc2.jpg",0], 
[12851194,"string4 string","http://num843.webservice.com/u12851194/b_4e273fa4.jpg",0], 
[15819606,"string5 string","http://num9782.webservice.com/u15819606/b_66333a8f.jpg",0], 
[15947248,"string6 string","http://num1500.webservice.com/u15947248/b_920c8b64.jpg",0]] 

je pense est au format JSON, mais je ne pouvais pas l'analyser dans mon application .Net WinForm. Pouvez-vous donner quelques conseils ou exampe comment le faire.

Je googlé à propos JSON.NET bibliothèque, DataContractJsonSerializer classe, mais je ne pouvais pas comprendre comment coller tous ensemble avec le type de données de la réponse ...

Répondre

14

Si vous voulez analyser JSON, la bibliothèque JSON.net est la endroit pour être.

Vous pouvez l'utiliser comme ceci:

var json = @"[[3014887,""string1 string"",""http://num60.webservice.com/u3014887/b_c9c0625b.jpg"",0], 
         [3061529,""string2 string"",""http://num879.webservice.com/u3061529/b_320d6d36.jpg"",0], 
         [7317649,""string3 string"",""http://num1233.webservice.com/u7317649/b_a60b3dc2.jpg"",0], 
         [12851194,""string4 string"",""http://num843.webservice.com/u12851194/b_4e273fa4.jpg"",0], 
         [15819606,""string5 string"",""http://num9782.webservice.com/u15819606/b_66333a8f.jpg"",0], 
         [15947248,""string6 string"",""http://num1500.webservice.com/u15947248/b_920c8b64.jpg"",0]]"; 
var array = JArray.Parse(json); 

foreach (var token in array) 
{ 
    Console.WriteLine(token[0]); 
} 

De cette façon, je pouvais lire le contenu de votre tableau.

+0

J'ai crochets. Il y a aussi un tableau de valeurs, pas de paires KeyValue dans mon exemple. C'est un problème d'utiliser JSON.NET avec mon exemple, n'est-ce pas? –

+2

chaîne json = GetJson(); JArray a = JArray.Parse (json); –

+0

Et quelles sont les prochaines étapes? –