2017-10-04 2 views
0

J'ai du mal à rassembler JSON depuis une URL. J'ai lu le JSON avec succès comme une chaîne asynchrone mais quand j'essaye d'analyser en tant que JObject il renvoie le résultat nul/vide.Pourquoi le JSON renvoie-t-il un résultat nul/vide lorsqu'il est analysé en tant que JObject? C#

Le JSON ressemble à ceci:

[{"name":"Name","desc":"Desc","id":1}, {"name":"Name","desc":"Desc","id":2}] 

Et voici le code:

static public async Task<JObject> getData() 
    { 
      var httpClientRequest = new HttpClient(); 
      var result = await httpClientRequest.GetAsync("url"); 
      var resultString = await result.Content.ReadAsStringAsync(); 

      System.Diagnostics.Debug.WriteLine(resultString); //returns the json as a string 

      var jsonResult = JObject.Parse(resultString); 
      System.Diagnostics.Debug.WriteLine(jsonResult); //returns null/blank result 
      return jsonResult; 
    } 

Toute idée de ce que je fais mal?

+4

Vos données ressemble à un tableau. Essayez d'analyser JArray au lieu de JObject – Riv

+3

Le conteneur racine est un tableau JSON et non un objet JSON. Utilisez 'JArray.Parse()', ou 'JToken.Parse()' si vous ne connaissez pas le contenu JSON à l'avance. – dbc

+0

Merci les gars! Fonctionne maintenant :) Cheers. –

Répondre

0

Essayez cette

var jsonResult = JArray.Parse(resultString);