Biorąc pod uwagę następujący obiekt JSON,
form = {
"name": "",
"address": {
"street": "",
"city": "",
"province": "",
"postalCode": "",
"country": ""
},
"phoneDay": "",
"phoneCell": "",
"businessName": "",
"website": "",
"email": ""
}
co to jest narzędzie do automatycznego generowania następującej klasy C #?
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; }
}
Przyjrzeliśmy się już tym pytaniom:
Generuj klasy C # ze schematu JSON Pyta o schematy JSON, które mogą być podejściem do wykorzystania w przyszłości.
c#
json
code-generation
Shaun Luttin
źródło
źródło
Odpowiedzi:
Pięć opcji:
Skorzystaj z bezpłatnego narzędzia internetowego jsonutils bez instalowania czegokolwiek.
Jeśli masz Web Essentials w programie Visual Studio, użyj opcji Edycja> Wklej specjalnie> wklej JSON jako klasę.
Skorzystaj z bezpłatnego jsonclassgenerator .exe
Narzędzie internetowe app.quicktype.io nie wymaga instalowania niczego.
Narzędzie internetowe json2csharp również nie wymaga instalowania niczego.
Plusy i minusy:
jsonclassgenerator konwertuje do PascalCase, ale inne nie.
app.quicktype.io ma pewną logikę do rozpoznawania słowników i obsługi właściwości JSON, których nazwy są nieprawidłowymi identyfikatorami C #.
źródło
Program Visual Studio 2012 (z zainstalowanymi ASP.NET i Web Tools 2012.2 RC) obsługuje to natywnie .
Visual Studio 2013 i nowsze wersje mają to wbudowane.
(Zdjęcie dzięki uprzejmości: robert.muehsig )
źródło
Jeśli zainstalujesz Web Essentials w Visual Studio, możesz przejść do Edit => Past special => wklej JSON jako klasę.
To prawdopodobnie najłatwiejszy z możliwych.
Web Essentials: http://vswebessentials.com/
źródło