Pytanie Jak automatycznie wygenerować plik klasy C # z ciągu obiektów JSON [closed]


Biorąc pod uwagę następujący obiekt JSON,

form = {
  "name": "",
  "address": {
    "street": "",
    "city": "",
    "province": "",
    "postalCode": "",
    "country": ""
  },
  "phoneDay": "",
  "phoneCell": "",
  "businessName": "",
  "website": "",
  "email": ""
}

jakie jest narzędzie do automatycznego generowania następnej 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; }
}

Przejrzeliśmy już te pytania:

Wygeneruj klasy C # ze schematu JSON Pyta o Schematy JSON, które mogą być podejściem do wykorzystania na drodze.

Korzyści i wady wygenerowanych klas C # dla obiektów Json


76
2018-02-06 19:01


pochodzenie


json2csharp.com ??? - Habib
spróbuj tego narzędzia może pomóc .. tools4geeks.com/json-to-CSharp-classes - Dheeraj Palagiri
Ktoś wie jak to zrobić z Swagger YAML? - ryanwebjackson


Odpowiedzi:


Trzy opcje:

  • Skorzystaj z bezpłatnego json2csharp narzędzie internetowe bez instalowania czegokolwiek.

  • Jeśli masz Web Essentials w Visual Studio użyj polecenia Edycja> Wklej specjalnie> wklej JSON jako klasę.

  • Skorzystaj z bezpłatnego jsonclassgenerator.exe

Plusy i minusy:


112
2018-02-06 19:01



zarówno Web Essentials, jak i json2csharp wykonują świetną robotę. Nie próbowałem jsonclassgenerator, ponieważ wydawało się, że trzeba po prostu otworzyć oddzielną aplikację - Zoran P.
Nie próbowałem jsonclassgenerator, ale widzę przewagę. Na przykład, jeśli masz fałszywe api, możesz interweniować nad zestawem punktów końcowych, aby zregenerować swoje modele. Można przejść do ustawienia skryptu, który sprawdza nowe zatwierdzenia i aktualizuje model, jeśli coś się zmieniło. Nie będziesz chciał ręcznie wklejać nowego jsona za każdym razem, ponieważ może to być podatne na błędy. - Billy Jake O'Connor
Narzędzie json2csharp wykonuje lepszą pracę niż VS formatowania klas, szczególnie nazw klas. Usunie ona niejednoznaczne znaki, takie jak "_" i poprawnie wielbłąd, a następnie nazwy klas. - big_water
"jsonutils" jest całkiem fajny, może generować atrybuty takie jak "właściwości Json", jsonutils.com - Dhanuka777


Program Visual Studio 2012 (z zainstalowanymi programami ASP.NET i Web Tools 2012.2 RC) obsługuje tę funkcję natywnie.

Visual Studio 2013 i później mają to wbudowane.

Visual Studio Paste JSON as Classes screenshot (Zdjęcie dzięki uprzejmości: robert.muehsig)


77
2017-12-14 18:36



Myślę, że to rozwiązanie jest najlepsze, ponieważ nie potrzebujesz zewnętrznego programu! - Abraão Caldas
+1 Preferuję tę odpowiedź w porównaniu z akceptowaną. kto chciałby narzędzia innej firmy z tą wspaniałą funkcją dostępną w VS;) - Bharath
przed wklejeniem tutaj jest rozwiązanie do kopiowania JSON z console.log w narzędziu programisty do schowka. Nadzieja pomaga. - stom


Jeśli instalujesz Web Essentials w Visual studio, możesz przejść do Edit => Past special => wklej JSON jako klasę.

Prawdopodobnie jest to najłatwiejsze.

Web Essentials: http://vswebessentials.com/


9
2018-02-06 19:04