Jak automatycznie wygenerować plik klasy C# z łańcucha JSON [zamknięty]

Zamknięte. to pytanie nie spełnia wytycznych dotyczących przepełnienia stosu . Obecnie nie przyjmuje odpowiedzi.


Chcesz poprawić to pytanie? Update the pytanie więc to on-topic {[5] } dla przepełnienia stosu.

Zamknięte 4 lata temu .

Popraw to pytanie

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

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

Czym 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:

Generate C# classes from JSON Schema jest pytaniem o Schematy JSON, które mogą być podejściem do wykorzystania w dalszej drodze.

Zalety i wady generowanych klas C # dla obiektów Json

Author: Liam, 2014-02-06

3 answers

Pięć opcji:

  • Użyj darmowego narzędzia internetowego jsonutils bez instalowania czegokolwiek.

  • Jeśli masz Web Essentials w Visual Studio, użyj Edit > Paste special > paste JSON jako klasy.

  • Użyj darmowego jsonclassgenerator .exe

  • Narzędzie internetowe app.quicktype.io nie wymaga instalowania czegokolwiek.

  • Web tool json2csharp również nie wymaga instalowanie czegokolwiek.

Plusy i minusy:

  • Jsonclassgenerator konwertuje do PascalCase, ale inne nie.

  • App.quicktype.io posiada logikę rozpoznawania słowników i obsługi właściwości JSON, których nazwy są nieprawidłowymi identyfikatorami c#.

 158
Author: Shaun Luttin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-07-15 23:46:21

Visual Studio 2012 (z ASP.NET i Web Tools 2012.2 RC zainstalowany) obsługuje to natywnie .

Visual Studio 2013 ma to wbudowane.

Visual Studio Wklej JSON jako zrzut ekranu klas (Zdjęcie dzięki uprzejmości: robert.muehsig)

 129
Author: Mrchief,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-14 18:36:46

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

To chyba najłatwiejsze.

Web Essentials: http://vswebessentials.com/

 10
Author: Kenneth,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-06 19:04:27