Konwerter JSON na C# — Generator klas
Konwertuj JSON na klasy C# online. Generuje modele z atrybutami System.Text.Json lub Newtonsoft.Json, typy nullable i List<T>. Za darmo, prywatnie w przeglądarce.
🔒 Działa całkowicie w Twojej przeglądarce — nic nie jest przesyłaneZamień JSON na klasy modelu C#
Ten konwerter JSON na C# odczytuje przykład JSON i generuje silnie typowane klasy C# odpowiadające jego strukturze. Każdy obiekt staje się klasą public partial class, każda właściwość dostaje nazwę w PascalCase wraz z atrybutem serializatora, który mapuje ją z powrotem na oryginalny klucz JSON, a zagnieżdżone obiekty stają się własnymi klasami nazwanymi od właściwości, która je przechowuje. Tablice zamieniają się w List<T> lub T[], daty ISO stają się typem DateTimeOffset, a wartości, które czasem nie występują lub mają wartość null, są generowane jako typy nullable — dzięki temu Twój kod kompiluje się z prawdziwymi danymi, a nie z wyidealizowanym przykładem.
Pod spodem działa quicktype — dojrzały silnik wnioskowania typów, który łączy wszystkie elementy tablicy, zanim wybierze typ. Lista zamówień, w której tylko część zamówień ma kupon, nadal da jedną klasę Order z opcjonalną właściwością Coupon, a nie klasę pasującą wyłącznie do pierwszego elementu.
System.Text.Json czy Newtonsoft
Nowoczesne projekty .NET zwykle korzystają z System.Text.Json, który jest tu domyślny: właściwości są oznaczane atrybutem [JsonPropertyName], a wynik zawiera metodę fabrykującą FromJson, metodę rozszerzającą ToJson oraz ustawienia konwerterów dla dat ISO. Jeśli Twoja baza kodu nadal używa Json.NET, przełącz serializator na Newtonsoft, a otrzymasz atrybuty [JsonProperty] z tymi samymi funkcjami pomocniczymi opartymi na JsonConvert. Wybierz Classes only, gdy chcesz tylko klasy POCO do wklejenia w istniejący folder DTO, i ustaw przestrzeń nazw, aby plik od razu pasował do Twojego rozwiązania.
Wskazówki dla dokładnych typów C#
Wklej możliwie najbogatszy przykład: uwzględnij pola opcjonalne, puste i wypełnione tablice oraz więcej niż jeden element tablicy, aby wnioskowanie zobaczyło, które właściwości występują zawsze. Zmień nazwę klasy głównej z Root na coś sensownego, np. OrderResponse, przed pobraniem — nazwa pliku ją odzwierciedla. Po wklejeniu kodu do Visual Studio lub Rider sprawdź typy, których przykład nie może ujawnić: identyfikator całkowity, który może przekroczyć long, ciąg znaków będący tak naprawdę enumem albo kwoty pieniężne, które zasługują na decimal. Wszystko działa lokalnie, więc podczas pracy możesz bezpiecznie używać odpowiedzi z produkcji.
Jak używać
- Wklej JSONWklej obiekt lub tablicę JSON albo kliknij Load sample, aby wypróbować narzędzie.
- Ustaw opcjeWybierz nazwę klasy głównej, przestrzeń nazw, serializator i typ kolekcji.
- Skopiuj klasySkopiuj wygenerowany kod C# lub pobierz go jako plik .cs do swojego projektu.
Najczęściej zadawane pytania
Czy obsługuje System.Text.Json i Newtonsoft.Json?
[JsonPropertyName] lub [JsonProperty] oraz konwertery pomocnicze dla tej biblioteki.Czy mogę dostać zwykłe klasy bez funkcji pomocniczych serializatora?
Jak typowane są daty, liczby dziesiętne i wartości null?
DateTimeOffset, liczby z częścią ułamkową — typem double, a pola, których brakuje lub które mają wartość null w niektórych przykładach, stają się typami nullable.