Petite perle Visual Studio : transformer le JSON en classes

Vous désirez surprendre vos collègues un mercredi matin? J’ai ce qu’il vous faut avec ce billet.

Ce que j’aime le plus avec l’informatique est de découvrir une petite fonctionnalité qui est présente dans un logiciel qui permet d’améliorer de beaucoup l’automatisation d’une tâche. De petits plaisirs de la vie tout à fait gratuits.

Convertir un document JSON en une série d’objets concrets est une tâche longue, manuelle et assez ennuyante. Il peut même arriver, dans le processus, d’oublier des propriétés ou même se tromper dans l’orthographe de celles-ci.

1. Trouver un bout de JSON à convertir

Pour que la démonstration puisse fonctionner, vous allez devoir aller sur internet et vous trouver un petit bout de JSON, celui que vous voulez.

Je vais vous attendre ici.

endless

Toujours rien? Vous n’avez pas cherché vraiment fort. Voici un exemple tiré de la page Wikipédia de JSON :

{
    "firstName": "John",
    "lastName": "Smith",
    "age": 25,
    "address": {
        "streetAddress": "21 2nd Street",
        "city": "New York",
        "state": "NY",
        "postalCode": 10021
    },
    "phoneNumbers": [
        {
            "type": "home",
            "number": "212 555-1234"
        },
        {
            "type": "fax",
            "number": "646 555-4567"
        }
    ]
}

2. La magie de Visual Studio 2012

Lorsque je dis « magie », vous devez le prendre au sens figuré, n’est-ce pas? Croire à la magie c’est comme croire au père Noël. Ça n’existe pas.

Une fois dans Visual Studio, vous allez vous créer une classe C# régulière et placer votre curseur entre les deux accolades réservées au namespace. À partir de là, vous visiterez le menu Edit > Paste Special > Paste JSON as Classes.

Comme promis, votre JSON sera converti en une classe C# fortement typée. Comme celle-ci :


public class Rootobject
{
public string firstName { get; set; }
public string lastName { get; set; }
public int age { get; set; }
public Address address { get; set; }
public Phonenumber[] phoneNumbers { get; set; }
}
public class Address
{
public string streetAddress { get; set; }
public string city { get; set; }
public string state { get; set; }
public int postalCode { get; set; }
}
public class Phonenumber
{
public string type { get; set; }
public string number { get; set; }
}

view raw

JSON.cs

hosted with ❤ by GitHub

D’ailleurs, il est à remarquer que, si votre projet utilise .NET 4.5, vous pouvez utiliser la fonction « Paste XML as Classes ». Alors, si vous êtes à utiliser du XML dans le cadre de votre projet, la même transformation peut être complétée. N’est-ce pas assez fantastique?

Moi, je crois que oui. Happy coding!

Publicité

Auteur : Pascal Paradis

Je suis les mains et le cerveau derrière http://frenchcoding.com. Je développe des microservices chez @UbisoftMTL. Amateur de Hockey et j'aime la technologie, en général.

2 réflexions sur “Petite perle Visual Studio : transformer le JSON en classes”

Laisser un commentaire

Entrer les renseignements ci-dessous ou cliquer sur une icône pour ouvrir une session :

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.

%d blogueueurs aiment cette page :