Konwerter C# na JSON
Wklej klasy lub obiekty C#. Dostań w zamian czysty JSON.
Co robi to narzędzie
Jeśli kiedykolwiek musiałeś ręcznie sklecić payload JSON odzwierciedlający klasę C# — do testu, wywołania API albo dokumentacji — wiesz, jak to jest żmudne. Wklej C# tutaj i dostaniesz poprawny JSON bez ręcznego przepisywania czegokolwiek. Radzi sobie z pojedynczym object initializerem, całym plikiem modelu z kilkoma klasami albo czymś głęboko zagnieżdżonym — efekt ten sam: kompletny dokument JSON z każdym polem na swoim miejscu.
To nie jest zwykłe podmienianie stringów. Konwerter wie, jak C# faktycznie serializuje w runtime: przyrostki decimal typu 49.99m tracą m i stają się liczbami JSON, DateTime i DateTimeOffset wychodzą jako stringi ISO-8601 zgodnie z RFC 8259, Guid dostaje standardowy format heksowy, nullable z wartością null stają się null, a kolekcje wyglądają tak jak wyprodukowałby je System.Text.Json i Newtonsoft.Json — List<T> i tablice jako tablice JSON, Dictionary<K,V> jako obiekt JSON.
Atrybuty serializacji też są respektowane. [JsonPropertyName("x")] zmienia nazwę klucza, [JsonIgnore] usuwa właściwość. Jeśli wkleisz kilka klas naraz, każda trafia jako osobny wpis na najwyższym poziomie JSON-a, z rozwiniętymi typami zagnieżdżonymi i właściwościami dziedziczonymi z klas bazowych. Nic nie ginie po cichu.
Jak tego używać
Trzy kroki. Działa tak samo, czy wklejasz pięć linii, czy cały plik modelu.
Wklej swój C# (albo wypróbuj przykład)
Wrzuć swój C# do lewego edytora bez żadnych poprawek. Object initializer, pełna definicja klasy, wiele klas czy zagnieżdżone struktury — wszystko gra. Kliknij Wczytaj przykład, jeśli chcesz najpierw zobaczyć realny przykład.
Nie musisz czyścić kodu — zostaw składnię C#, modyfikatory dostępu i atrybuty tak, jak są. Po prostu wklej.
Kliknij Konwertuj
Wciśnij zielony przycisk Konwertuj. Narzędzie czyta C#, zachowuje każdą klasę i właściwość, i buduje JSON za jednym razem. Zobaczysz krótki wskaźnik ładowania podczas konwersji.
Skopiuj JSON
Prawy panel wypełni się ładnie wciętym, zgodnym z MDN JSON-em. Skopiuj go prosto do requestu API, fixture testowego, pliku konfiguracyjnego albo dokumentacji.
Kiedy to się realnie przydaje
Budowanie fixture'ów API
Masz model requestu w C# i potrzebujesz payloadu JSON, żeby wrzucić go do Postmana albo curl. Wklej klasę, weź JSON, lecisz dalej.
Szkielet plików konfiguracyjnych
Klasa Settings z 40 właściwościami zamienia się w gotowy do edycji szablon JSON dla appsettings.json albo dowolnego configu — zero ręcznego klepania.
Trzymanie dokumentacji w zgodzie z kodem
Generuj przykłady JSON do README, referencji API albo specki OpenAPI prosto z realnych modeli, żeby dokumentacja faktycznie odpowiadała kodowi.
Dane seedujące do testów
Zamień object initializery z testów jednostkowych na pliki seed JSON dla testów integracyjnych, mock serwerów albo fixture'ów bazodanowych.
Częste pytania
Czy mogę wkleić kilka klas naraz?
Tak — wklej cały plik. Każda klasa najwyższego poziomu wychodzi jako osobny klucz w JSON, z rozwiniętymi typami zagnieżdżonymi i właściwościami dziedziczonymi z klas bazowych. Nic nie jest pomijane.
Czy respektuje atrybuty typu [JsonPropertyName] albo [JsonIgnore]?
Tak. [JsonPropertyName("x")] i [JsonProperty("x")] zmieniają nazwę klucza JSON, a [JsonIgnore] wyrzuca właściwość z wyniku — czyli dokładnie to samo, co zrobiłby System.Text.Json.
Jak traktuje decimal, DateTime, Guid i inne typowe typy C#?
Decimale (49.99m) tracą przyrostek i stają się liczbami JSON. DateTime i DateTimeOffset wychodzą jako stringi ISO-8601. Guid to standardowy heks 8-4-4-4-12. TimeSpan staje się stringiem trwania. Nullable z wartością null to JSON-owy null; w przeciwnym razie serializowany jest typ bazowy.
A zagnieżdżone klasy, listy i słowniki?
List<T>, tablice, HashSet<T> i IEnumerable<T> — wszystko ląduje jako tablice JSON. Dictionary<K,V> staje się obiektem JSON. Zagnieżdżone object initializery — na przykład Address wewnątrz Order — są rozwijane jako zagnieżdżone obiekty JSON z każdym polem nietkniętym.
Czy mój kod gdzieś jest zapisywany?
Twój kod leci do backendu, żeby go skonwertować, i nie jest nigdzie utrwalany — nie logujemy payloadu. Jak zwykle z narzędziami online: jeśli kod jest naprawdę wrażliwy, przejrzyj go wcześniej.
A co, jeśli w C# jest coś nietypowego — metody, delegaty, IntPtr?
Takie rzeczy wychodzą jako null zamiast wywalać całą konwersję, więc reszta modelu i tak przejdzie. Jeśli sam kod ma błędy składniowe, popraw te oczywiste — parser jest wyrozumiały, ale nie wróżka.
Inne narzędzia, które mogą ci się przydać
C# do JSON to jeden kawałek układanki. Oto narzędzia, które dobrze z nim grają: