Omnikit
ProgramowaniePlikiFinanseWszystkie narzędzia
Ctrl K
Narzędzia dla programistówNarzędzia do plikówKalkulatory finansoweWszystkie narzędzia
Strona głównaNarzędzia dla programistówKonwerter JSON na klasy Python
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский

Konwerter JSON na klasy Python

programowanie

Zamiana próbki JSON na dataclassy, modele Pydantic lub TypedDict w Pythonie z adnotacjami typów

Działa w przeglądarce. Wpisane dane nie są nigdzie wysyłane. Sprawdzono 16 października 2026.

Wystarczy wkleić próbkę JSON, aby otrzymać dataclassy, modele Pydantic v2 lub TypedDict w Pythonie z adnotacjami typów. Liczby całkowite stają się int, a każda wartość dziesiętna zmienia pole na float; wartość null lub brakująca staje się str | None z None jako wartością domyślną, a 3 style klas korzystają z tego samego wnioskowania.

Ta strona została przetłumaczona maszynowo z angielskiego oryginału. Tłumaczenie nie zostało jeszcze sprawdzone przez człowieka, dlatego wiążąca jest wersja angielska. Przeczytaj angielski oryginał

Dalej:
  • JSON to Zod Paste a JSON sample and get a Zod schema with its z.infer type, ready to copy
  • Formater i walidator JSON Formatowanie, walidacja, minifikacja i sortowanie JSON z dokładną pozycją błędu

Jak przekonwertować JSON na klasę Python

1

Wklej próbkę JSON, na przykład odpowiedź API, do lewego pola.

2

Klasy Python pojawiają się w trakcie pisania: jedna klasa na obiekt, z adnotacjami typów takimi jak int, float, list[str] i str | None.

3

Wybierz dataclass, Pydantic lub TypedDict oraz typowanie Pythona 3.9, jeśli projekt jest starszy niż 3.10.

4

Kliknij Kopiuj albo Pobierz, aby zapisać models.py.

Konwerter JSON na klasy Python

Python wczytuje JSON jako słowniki, a dopiero klasa z adnotacjami typów pozwala edytorowi, narzędziu do sprawdzania typów lub Pydantic wychwycić literówkę w kluczu albo błędny typ. Konwerter pisze takie klasy na podstawie próbki, więc długa odpowiedź API staje się typowanym Pythonem po jednym wklejeniu.

Jak dobierane są typy.

Wartość JSON Typ Python
"text" str
true / false bool
42 (tylko liczby całkowite) int
4.5 (wystąpiła jakakolwiek część dziesiętna) float
null oraz inny typ str | None lub Optional[str]
tylko null lub różne rodzaje Any
[ ... ] list[...]
{ } pusty dict[str, Any]
{ ... } osobna klasa

Tablice obiektów. Wszystkie obiekty tablicy są łączone w jedną klasę, więc klucz obecny tylko w niektórych nadal się w niej znajduje, z typem dopuszczającym None i None jako wartością domyślną. Dwa obiekty o dokładnie tych samych kluczach i typach współdzielą jedną klasę.

Trzy style. Dataclass nie wymaga instalowania niczego; pola z wartością domyślną są przenoszone za pozostałe, bo inaczej Python zgłasza TypeError. Modele Pydantic używają atrybutów w snake_case z Field(alias=...) dla kluczy zapisanych inaczej, np. userName lub first-name. TypedDict zachowuje klucze dokładnie i oznacza jako NotRequired te, które występują tylko czasem.

Kolejność i nazwy. Klasy są zapisywane od klas potomnych, więc każda nazwa jest zdefiniowana przed użyciem. Słowo kluczowe, np. class, staje się class_, a klucz, który przesłoniłby typ, np. list, dostaje ten sam podkreślnik.

Każdy styl sprawdzono, uruchamiając wynik w CPython z Pydantic 2 i walidując próbkę. Nic, co zostanie wklejone, nie opuszcza przeglądarki.

Najczęściej zadawane pytania

Jak przekonwertować JSON na klasę Python?

Po wklejeniu próbki JSON do konwertera obok pojawiają się klasy Python, po jednej na obiekt, z adnotacją typu przy każdym atrybucie. Wybierz dataclass dla prostych klas, Pydantic do walidacji lub TypedDict, aby nadal pracować ze zwykłymi słownikami, a następnie skopiuj moduł do projektu.

Co wybrać: dataclass, model Pydantic czy TypedDict?

Dataclass sprawdza się przy danych tworzonych samodzielnie i nie wymaga żadnej biblioteki. Pydantic sprawdza się przy danych z zewnątrz, takich jak odpowiedzi API, bo kontroluje każdą wartość i sam konwertuje zagnieżdżone obiekty. TypedDict dodaje jedynie adnotacje typów do słownika zwracanego przez json.loads, więc nic nie kosztuje w czasie działania.

Jak traktowane są klucze JSON takie jak userName lub first-name?

Atrybuty Pydantic są zapisywane w snake_case, zgodnie z PEP 8, z Field(alias="userName"), dzięki czemu walidacja nadal odczytuje oryginalny klucz. TypedDict zachowuje każdy klucz dokładnie i przechodzi na składnię funkcyjną, gdy klucz nie jest poprawną nazwą. Dataclass zachowuje klucze będące poprawnymi nazwami i odnotowuje pozostałe.

Dlaczego pole ma typ str | None lub Optional[str]?

Klucz, który w próbce miał wartość null albo brakuje go w niektórych obiektach tablicy, może zawierać None, więc adnotacja to dopuszcza. Brakujące klucze dostają też None jako wartość domyślną, a w dataclass takie pola trafiają na koniec, bo Python odrzuca pole bez wartości domyślnej po polu, które ją ma.

Jakiej wersji Pythona wymaga wynik?

Domyślne typowanie, np. list[str] i str | None, wymaga Pythona 3.10 lub nowszego. Po włączeniu typowania Pythona 3.9 zamiast tego używane są Optional i List z modułu typing. NotRequired dla TypedDict pochodzi z typing_extensions, a od Pythona 3.11 jest w samym typing.

Czy mój JSON jest wysyłany?

Nie. Konwersja działa w przeglądarce bez żadnego żądania do serwera, a JSON nie jest zapisywany, więc odpowiedzi API z tokenami lub danymi osobowymi zostają na urządzeniu. Po zamknięciu karty nic nie pozostaje.

Źródła

  • Python documentation, dataclassesField order rule: no field without a default after one with a default
  • Python documentation, typing.TypedDict and NotRequiredClass and functional syntax, keys that may be missing
  • PEP 8, naming conventionsCapWords class names, snake_case attributes, a trailing underscore after a keyword
  • Pydantic documentation, fields and aliasesField(alias=...) to read a JSON key into another attribute name

Ostatnia weryfikacja: 16 października 2026.

Stawki i przepisy się zmieniają; przed oparciem się na danej liczbie należy sprawdzić źródło.

Nadal coś nie działa? Zapytaj o narzędzie Konwerter JSON na klasy Python a odpowiedzieć może każdy, kto zna odpowiedź. Konto nie jest potrzebne.

Powiązane narzędzia

Wszystkie narzędzia dla programistów
Kodowanie i dekodowanie Base64Tekst i pliki do Base64 i z powrotem, z trybem bezpiecznym dla URL i podglądem obrazówKonwerter znacznika czasu UnixZnaczniki czasu Unix na daty i daty na znaczniki czasu, w dowolnej strefie czasowejJSON na TypeScriptGeneruj interfejsy lub typy TypeScript z przykładowego JSONKonwerter CSV na JSONKonwertuj CSV na JSON i JSON na CSV, z podglądem tabeliKonwerter YAML na JSONKonwertuj YAML na JSON i JSON na YAML, z rozwiązanymi kotwicamiKoder i dekoder URLKodowanie procentowe i dekodowanie tekstu oraz adresów URL, z podglądem każdej części linkuKonwerter kolorówHEX, RGB, HSL, HWB, OKLCH i CMYK w obie strony, ze sprawdzaniem kontrastuKonwerter systemów liczbowychDwójkowy, ósemkowy, dziesiętny, szesnastkowy i dowolna podstawa do 36, dokładnie przy każdej wielkości, z kodem uzupełnień do dwóch
Czy to narzędzie było pomocne?
Omnikit

Małe zadania wykonywane w przeglądarce. Bezpłatnie, szybko i prywatnie. Pliki nigdy nie są przesyłane.

Pliki

  • Compress Image
  • Image to PDF
  • Merge PDF
  • Compress PDF
  • PDF to Word
  • Word to PDF

Programowanie

  • JSON Formatter & Validator
  • Base64 Encode & Decode
  • JWT Decoder, Verifier & Encoder
  • Password Generator
  • UUID Generator
  • Unix Timestamp Converter

Finanse

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский
PoradnikiPytaniaO serwisieJak sprawdzamyBiblioteka prawa (beta)PrywatnośćRegulaminUjawnieniaKontaktMore: Exam practice (UGC NET Paper 1)Działa w przeglądarce. Nic nie jest przesyłane. © 2026 Omnikit (theomnikit.com)