Konwerter JSON na klasy Python
Wklej JSON i uzyskaj klasy Python — dataclass, Pydantic v2 lub TypedDict. Poprawne typy Optional, aliasy camelCase, klasy zagnieżdżone. W 100% w przeglądarce, bezpłatnie.
Czym jest konwersja JSON na Python?
Konwersja JSON na Python zamienia próbkę JSON w gotowe do użycia klasy Python — dataclass z biblioteki standardowej, model Pydantic v2 lub TypedDict — dzięki czemu nigdy nie piszesz ręcznie definicji pól dla odpowiedzi API czy pliku konfiguracyjnego. Ten generator klas Python wnioskuje poprawne typy (int, float, str, bool, Optional), zamienia obiekty zagnieżdżone w nazwane klasy i dodaje aliasy Pydantic dla kluczy camelCase — wszystko w 100% w przeglądarce.
Przykłady
Odpowiedź API → dataclass
{"id":101,"name":"Ada Lovelace","email":"ada@example.com","active":true,"roles":["admin","user"]} from dataclasses import dataclass
from typing import List
@dataclass
class Root:
id: int
name: str
email: str
active: bool
roles: List[str]
Typowy ładunek REST staje się gotową do użycia klasą @dataclass. Liczby całkowite są wnioskowane jako int, dziesiętne jako float, a tablice stają się List[str].
Zagnieżdżony obiekt (klasa potomna najpierw)
{"repo":"pydantic","owner":{"login":"samuelcolvin","id":100}} from dataclasses import dataclass
@dataclass
class Owner:
login: str
id: int
@dataclass
class Root:
repo: str
owner: Owner
Zagnieżdżone obiekty stają się osobnymi, nazwanymi klasami. Klasa potomna (Owner) jest emitowana przed nadrzędną, więc kod działa bez from __future__ import annotations.
camelCase → alias Pydantic v2
{"login":"octocat","publicRepos":15,"createdAt":"2011-01-25"} from pydantic import BaseModel, ConfigDict, Field
class Root(BaseModel):
model_config = ConfigDict(populate_by_name=True)
login: str
public_repos: int = Field(alias="publicRepos")
created_at: str = Field(alias="createdAt")
W trybie Pydantic pola są w snake_case z Field(alias=...) mapującym z powrotem na oryginalny klucz JSON, a populate_by_name pozwala budować model na oba sposoby — dzięki czemu walidacja przechodzi w obie strony na rzeczywistych danych API.
Tablica obiektów → TypedDict (klucz opcjonalny)
{"users":[{"id":1,"nick":"x"},{"id":2}]} from typing import List, Optional, TypedDict
class User(TypedDict):
id: int
nick: Optional[str]
class Root(TypedDict):
users: List[User]
Tablice obiektów są scalane w jeden typ elementu. Klucz brakujący w niektórych elementach (nick) staje się Optional. TypedDict opisuje kształt zwykłego dict bez żadnego narzutu w czasie wykonania.
Jak przekonwertować JSON na Python
- 1
Wklej swój JSON
Wstaw obiekt JSON, tablicę lub odpowiedź API do pola wejściowego. Konwersja zaczyna się natychmiast.
- 2
Wybierz dataclass, Pydantic lub TypedDict
Przełącz styl wyniku, aby dopasować go do swojego projektu, i zmień nazwę klasy głównej z domyślnej Root.
- 3
Skopiuj lub pobierz
Przejmij wygenerowany kod Python jednym kliknięciem i wklej go prosto do swojego kodu.
Common Use Cases
- Typowani klienci API
- Zamień przykładową odpowiedź REST lub GraphQL w modele Pydantic lub klasy dataclass dla klienta requests lub httpx, bez ręcznego pisania definicji pól.
- Parsowanie konfiguracji i fikstur
- Generuj modele dla plików konfiguracyjnych JSON, fikstur testowych lub ładunków webhooków, które musisz wczytać i zweryfikować.
- Szybkie prototypowanie i podpowiedzi typów
- Wklej nieznany ładunek, aby natychmiast zobaczyć jego kształt jako typy Python — szybki sposób na poznanie nowego API lub dodanie podpowiedzi TypedDict do starszego kodu opartego na dict.
Jak działa konwersja
- Wnioskowanie strukturalne
- Każdy obiekt staje się nazwaną klasą; identyczne kształty są deduplikowane, więc otrzymujesz jedną klasę, a nie kopie. Tablice obiektów są scalane klucz po kluczu, a klucze nieobecne w niektórych elementach stają się Optional.
- Trzy idiomatyczne cele
- dataclass nie ma żadnych zależności i zachowuje prawidłowe klucze dla Root(**data); Pydantic v2 dodaje aliasy Field oraz populate_by_name dla prawdziwej walidacji; TypedDict opisuje zwykły dict dla statycznych kontrolerów typów, używając składni funkcyjnej, gdy klucz nie jest identyfikatorem.
- Poprawne, oszczędne w zależności typowanie
- Liczby całkowite mapują się na int (dowolna precyzja, bez przepełnienia), dziesiętne i wykładniki na float, a pola zawierające wyłącznie null na Optional[Any]. Importy z typing (Optional, List, Any) są dodawane tylko wtedy, gdy są faktycznie używane.
- 100% po stronie klienta
- Parsowanie i generowanie działają w przeglądarce bez wywołań sieciowych, więc twoje dane pozostają prywatne.
Wskazówki dla czystych modeli Python
- Dopasuj tryb do zadania
- Używaj dataclass do wewnętrznego przechowywania danych, Pydantic v2, gdy walidujesz lub parsujesz niezaufane dane wejściowe, a TypedDict, gdy potrzebujesz jedynie statycznych podpowiedzi typów dla istniejących słowników dict.
- Wklej reprezentatywną próbkę
- Pola są oznaczane jako Optional tylko wtedy, gdy próbka je pomija, a wartości zawierające wyłącznie null przechodzą na Any. Wypełniony, kompletny przykład daje najbardziej precyzyjne typy.
- Nazwij swoją klasę główną
- Ustaw sensowną nazwę główną (User, ApiResponse) zamiast domyślnego Root, aby kod był czytelny i łatwy do zaimportowania.
Najczęściej zadawane pytania
Jak przekonwertować JSON na klasę Python?
Czym różni się wynik dataclass, Pydantic i TypedDict?
Jak wygenerować model Pydantic z JSON?
Jak wynik dataclass obsługuje klucze camelCase?
Jak typowane są pola opcjonalne i null?
Na jaki typ Python mapowana jest każda wartość JSON?
Czy obsługuje obiekty zagnieżdżone i tablice obiektów?
Jak obsługiwane są słowa kluczowe Python i klucze niebędące identyfikatorami?
Jak użyć wygenerowanej klasy dataclass do parsowania JSON?
Czy moje dane JSON są prywatne i bezpieczne?
Czy narzędzie jest bezpłatne? Czy potrzebuję konta?
Powiązane narzędzia
Zobacz wszystkie narzędzia →Koder i dekoder Base64
Kodowanie i formatowanie
Zakoduj i zdekoduj Base64 online za darmo. Konwersja w czasie rzeczywistym z pełną obsługą UTF-8 i emoji. 100% w przeglądarce, bez rejestracji.
Konwerter Base64 na obraz
Kodowanie i formatowanie
Zdekoduj ciąg Base64 lub data URI z powrotem na obraz w przeglądarce. Podejrzyj, odczytaj wymiary i MIME, a potem pobierz jako PNG, JPG, GIF, SVG. Bez przesyłania.
Konwerter CSV na JSON
Kodowanie i formatowanie
Konwertuj CSV na JSON w przeglądarce. RFC 4180, wnioskowanie typów, nagłówek, big-int safe. 100% prywatnie, bez wysyłki.
Konwerter .env na JSON
Kodowanie i formatowanie
Wklej plik .env i od razu otrzymaj JSON. Hasła, klucze API i tokeny nigdy nie opuszczają przeglądarki — 100% prywatnie, bez wysyłania, parser dotenv.
Darmowy dekoder encji HTML — unescape HTML
Kodowanie i formatowanie
Dekoduj encje HTML i unescape HTML online — za darmo, bez rejestracji, w 100% w przeglądarce. Zamienia odwołania nazwane, dziesiętne & szesnastkowe z powrotem na znaki; nic nie jest wysyłane.
Darmowy koder encji HTML — escape HTML
Kodowanie i formatowanie
Koduj encje HTML i znaki specjalne (< > & " ') online — za darmo, bez rejestracji, w 100% w przeglądarce. Wynik nazwany, dziesiętny lub szesnastkowy; nic nie jest wysyłane.