Si vous devez utiliser des données formatées avec le standard JSON, voici un truc simple pour démarrer (mais vous pouvez complexifier à votre guise ;)). J’utilise pour ce faire l’extension Web Essentials et le package NuGet Json.NET. Le fichier données JSON que j’utilise est celui-ci: Fichier exemple JSON (source).
Voici les étapes pour prendre les données JSON, générer les classes nécessaires et téléchargés les données et remplir ces nouvelles classes:
- Installer l’extension Web Essentials
- Créer une nouveau fichier de classe
- Mettre dans le presse-papier un extrait ou l’ensemble des données JSON (Copier ou CTRL-C)
- Cliquer-droit dans l’éditeur ou dans le menu EDITION/Collage Spécial et sélectionner “Coller le code JSON en tant que classes”
Ceci va créer des classes à partir du code JSON. Dans notre exemple, ceci donne les classes suivantes:
public class Rootobject
{
public Items items { get; set; }
}
public class Items
{
public Item[] item { get; set; }
}
public class Item
{
public string id { get; set; }
public string type { get; set; }
public string name { get; set; }
public float ppu { get; set; }
public Batters batters { get; set; }
public Topping[] topping { get; set; }
public Fillings fillings { get; set; }
}
public class Batters
{
public Batter[] batter { get; set; }
}
public class Batter
{
public string id { get; set; }
public string type { get; set; }
}
public class Fillings
{
public Filling[] filling { get; set; }
}
public class Filling
{
public string id { get; set; }
public string name { get; set; }
public float addcost { get; set; }
}
public class Topping
{
public string id { get; set; }
public string type { get; set; }
}
Par la suite, nous devons télécharger ce fichier depuis notre application pour afficher/traiter les données. Pour ce faire:
- Ajouter le package NuGet Json.NET
- Ajouter les usings suivants:
- using Newtonsoft.Json; using System.Net.Http;
- Utilisation de HttpClient et Json.Net pour extraire les données JSON et populer nos classes
private static async Task<Rootobject> GetData()
{
HttpClient client = new HttpClient();
var response = await client.GetStringAsync("http://www.gabrielmongeon.com/public/blog/donuts.js");
var root = JsonConvert.DeserializeObject<Rootobject>(response);
return root;
}
Voilà, vous avez une structure de données rempli avec des données provenant de JSON. Il ne reste plus qu’à trouver/créer une source de données et d’afficher/formater ces données dans votre application.
Bonne programmation