É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 d'un schéma JSON Demande des schémas JSON, ce qui peut être une approche à utiliser ultérieurement.
Avantages et inconvénients des classes C # générées pour les objets Json
c#
json
code-generation
Shaun Luttin
la source
la source
Réponses:
Cinq options:
Utilisez l' outil Web gratuit jsonutils sans rien installer.
Si vous avez Web Essentials dans Visual Studio, utilisez Edition> Collage spécial> coller JSON en tant que classe.
Utilisez le fichier jsonclassgenerator .exe gratuit
L'outil Web app.quicktype.io ne nécessite aucune installation.
L'outil Web json2csharp ne nécessite pas non plus d'installer quoi que ce soit.
Avantages et inconvénients:
jsonclassgenerator se convertit en PascalCase mais pas les autres.
app.quicktype.io a une certaine logique pour reconnaître les dictionnaires et gérer les propriétés JSON dont les noms sont des identificateurs c # non valides.
la source
Visual Studio 2012 (avec ASP.NET et Web Tools 2012.2 RC installés) prend en charge cela de manière native .
Visual Studio 2013 et les versions ultérieures ont cette fonction intégrée.
(Image courtoisie: robert.muehsig )
la source
Si vous installez Web Essentials dans Visual studio, vous pouvez accéder à Edit => Past special => coller JSON en tant que classe.
C'est probablement le plus simple qui soit.
Web Essentials: http://vswebessentials.com/
la source