DokumentyObrazyMediaNarzędzia PDF

JSON na C# Class

Generuj klasy C# z JSON, w przegladarce.

Processed in your browser

JSON na klasy C# gotowe dla .NET

Kompatybilny z nowoczesnym .NET

Wygenerowane klasy dzialaja z System.Text.Json (.NET 5+) i Newtonsoft.Json. Gotowe dla ASP.NET Core i .NET MAUI.

W 100% prywatny

Twoj JSON jest przetwarzany w przegladarce. Nigdy nie trafia na zewnetrzne serwery. Bezpieczny dla poufnych API.

Idiomatyczny kod C#

Auto-wlasciwosci, PascalCase, poprawne typy nullable. Kod zgodny z oficjalnymi konwencjami Microsoftu.

Natychmiastowy

Generowanie klas w milisekundach. Zadnych instalacji, rejestracji ani oczekiwania.

Trzy kroki, żadnych komplikacji

1

Wklej swoj JSON

Wklej dowolny poprawny obiekt JSON. Parser wykrywa typy, pola opcjonalne i zagniezdzone struktury.

2

Wygeneruj klasy C#

Klasy C# sa generowane z auto-wlasciwosciami, typami nullable dla pol opcjonalnych oraz zagniezdzonymi klasami.

3

Skopiuj i uzyj w projekcie

Skopiuj wygenerowany kod do Visual Studio lub VS Code. Kompatybilny z System.Text.Json i Newtonsoft.Json bez zadnych modyfikacji.

Masz pytania?

Auto-wlasciwosci ({ get; set; }) to funkcja C# pozwalajaca deklarowac wlasciwosci bez recznego pisania pola pomocniczego. Zamiast deklarowac prywatne pole i jego jawne akcesory, wystarczy napisac public string Name { get; set; }, a kompilator automatycznie generuje pole pomocnicze. Sprawia to, ze kod jest bardziej zwiezly i czytelny.

Konwencje nazewnictwa .NET (udokumentowane w wytycznych Microsoftu) okreslaja, ze publiczne wlasciwosci powinny uzywac PascalCase (PropertyName), w odroznieniu od Java uzywajac camelCase. Jednak System.Text.Json i Newtonsoft.Json moga automatycznie mapowac miedzy PascalCase w C# a camelCase w JSON przy uzyciu JsonPropertyName lub konfiguracji serializacji.

Gdy pole jest obecne w niektorych obiektach JSON, ale nie w innych, jest wywnioskowane jako opcjonalne i generowane z typem nullable (string?, int?, bool?). Wymaga to C# 8.0 lub nowszego z wlaczonym kontekstem nullable. Typy nullable zapobiegaja wyjatkowi NullReferenceException przy dostepie do pol, ktore moga nie byc obecne w odpowiedzi JSON.

Zagniezdzone obiekty JSON sa konwertowane na oddzielne klasy C# w tym samym pliku. Kazda zagniezdzona klasa jest generowana jako regularna klasa publiczna (nie jako klasa wewnetrzna), zgodnie z konwencja C# jednej klasy na odpowiedzialnosc. Odwolania miedzy klasami sa ustanawiane poprzez typ wlasciwosci.

System.Text.Json jest dolaczony do .NET Core 3.0+ i jest zalecanym wyborem dla nowych projektow: jest szybszy i nie wymaga zewnetrznych zaleznosci. Newtonsoft.Json (Json.NET) ma wiecej funkcji i jest bardziej elastyczny, bedac preferowanym gdy potrzebujesz zlozonych niestandardowych konwerterow lub kompatybilnosci ze starszymi projektami. Klasy generowane przez to narzedzie sa kompatybilne z obiema bibliotekami bez modyfikacji.

Klasy C#, typy record, serializacja JSON w .NET i tworzenie aplikacji ASP.NET Core

C# jest glownym jezykiem ekosystemu .NET Microsoftu, szeroko uzywanyn do web API z ASP.NET Core, aplikacji desktopowych z WPF/WinForms i wieloplatformowych aplikacji z .NET MAUI. W tworzeniu REST API z ASP.NET Core modele danych (zwane rowniez DTO lub modelami widoku) to klasy C# reprezentujace tresc zadan i odpowiedzi JSON.

Wraz z C# 9.0 i .NET 5+ Microsoft wprowadzil typy record: niezmienne klasy z rownosciaoparta na wartosciach, idealne dla DTO. W odroznieniu od zwyklych klas, rekordy sa domyslnie niezmienne i wymagaja mniej kodu szablonowego. Jednak dla scenariuszy wymagajacych mutowalnych obiektow (na przyklad przy deserializacji z JSON), klasy z auto-wlasciwosciami pozostaja standardowym wyborem.

System.Text.Json, wprowadzony w .NET Core 3.0, zastepuje Newtonsoft.Json jako zalecana biblioteka serializacji JSON. Jest znacznie szybszy i ma mniejszy naklad pamieci, co jest istotne dla API o wysokiej wydajnosci. W testach wydajnosciowych System.Text.Json przewyzsza Newtonsoft pod wzgledem szybkosci serializacji i deserializacji. Convertir.ai generuje klasy kompatybilne z obiema bibliotekami, przetwarzajac wszystko w Twojej przegladarce bez wysylania danych na serwery.