Étant donné l'objet JSON suivant,
form = {
"name": "",
"address": {
"street": "",
"city": "",
"province": "",
"postalCode": "",
"country": ""
},
"phoneDay": "",
"phoneCell": "",
"businessName": "",
"website": "",
"email": ""
}
qu'est-ce qu'un outil pour générer automatiquement la classe C # suivante?
public class ContactInfo
{
public string Name { get; set; }
public Address Address { get; set; }
public string PhoneDay { get; set; }
public string PhoneCell { get; set; }
public string BusinessName { get; set; }
public string Website { get; set; }
public string Email { get; set; }
}
public class Address
{
public string Street { get; set; }
public string City { get; set; }
public string Province { get; set; }
public string PostalCode { get; set; }
public string Country { get; set; }
}
Nous avons déjà examiné ces questions:
Générer des classes C # à partir de schémas JSON Interroge sur les schémas JSON, ce qui peut constituer une approche à utiliser ultérieurement.
Avantages et inconvénients des classes C # générées pour les objets Json
Quatre options:
Utilisez l'outil Web gratuit json2csharp sans rien installer.
Si vous avez Web Essentials dans Visual Studio, utilisez Edition> Collage spécial> Coller JSON en tant que classe.
Utilisez le libre jsonclassgenerator . Exe
L’outil Web app.quicktype.io (disponible dans un lien à partir de json2csharp ) ne nécessite également aucune installation.
Avantages et inconvénients:
jsonclassgenerator est converti en PascalCase mais pas les autres.
app.quicktype.io a une certaine logique pour reconnaître les dictionnaires.
Visual Studio 2012 (avec ASP.NET et Web Tools 2012.2 RC installés) prend en charge cette en mode natif .
Visual Studio 2013 et ultérieur ont cette fonction intégrée.
(Courtoisie d'image: robert.muehsig )
Si vous installez Web Essentials dans Visual studio, vous pouvez accéder à Edition => Spécial précédent => coller JSON en tant que classe.
C'est probablement le plus facile qui soit.
Web Essentials: http://vswebessentials.com/