Razvoj / Tipovi

JSON u Python konverter

Pretvorite JSON primer u Python dataclasses, TypedDict definicije ili Pydantic modele, uz ugnježdene klase, opcionalna i nullable polja i snake_case nazive.

JSON u Python konverter: Konverter čita strukturu primera: svaki objekat postaje klasa, nizovi postaju list[...], a objekti u nizu se objedinjuju, pa ključ koji nedostaje u nekim zapisima postaje opcionalan, dok ključ koji je ponekad null dobija tip "| None". Ključevi koji nisu važeća Python imena pretvaraju se u snake_case; Pydantic modeli zadržavaju originalni ključ kao alias, a TypedDict prelazi na svoj funkcionalni oblik. Izlaz za nekoliko složenih primera pokrenut je u Python 3.13, a Pydantic je pomoću njega proverio validnost primera. Radi 100% lokalno u vašem pregledaču, bez otpremanja datoteka na server.

Pokretanja
U vašem pregledaču
Trošak
Besplatno · bez registracije
Dostupnost
Spremno za upotrebu
JSON u PythonLokalna obrada

U potpunosti radi u vašem pregledaču

Python

from __future__ import annotations

from dataclasses import dataclass


@dataclass
class Address:
    city: str
    zip_code: str


@dataclass
class User:
    id: int
    user_name: str
    avatar_url: str
    score: float
    tags: list[str]
    address: Address
    manager_id: int | None
    nickname: str | None = None


UserList = list[User]

Namenjeno za Python 3.10 ili noviji. Ključevi koji nedostaju u nekim objektima postaju opcioni; ključevi koji su ponekad null postaju „| None“. Klase podataka ne preslikavaju preimenovane ključeve nazad u JSON, zato koristite Pydantic, koji dodaje alijase kada ključevi nisu važeći Python nazivi.

Od tipova do validacije

Saveti za tipove sami po sebi ne proveravaju podatke tokom izvršavanja: json.loads vam daje obične rečnike i liste bez obzira na to šta anotacije kažu. Pydantic modeli proveravaju i pretvaraju podatke dok se raščlanjuju, pomoću Model.model_validate(data), i prijavljuju svako polje koje ne odgovara.

Za isti primer u drugim jezicima pogledajte JSON to TypeScript i JSON u Go; za ugovor nezavisan od jezika koristite Generator JSON Schema.

Dobijanje dobrog primera

Nalepite više zapisa umesto jednog, uključujući one sa opcionim ili praznim poljima, kako bi konverter mogao da utvrdi koji su ključevi uvek prisutni. Vrednosti koje su uvek null ili prazni nizovi biće prikazane kao Any i treba ih ručno dopuniti.

Kako se koristi

  1. Nalepite JSON primer, po mogućstvu niz sa nekoliko tipičnih zapisa.
  2. Izaberite dataclasses, TypedDict ili Pydantic i unesite naziv tipa najvišeg nivoa.
  3. Kopirajte generisane klase u svoj projekat.

Privatnost i ograničenja

JSON se konvertuje u vašem pregledaču i nikada se ne otprema.

Srodne alatke

Često postavljana pitanja

Koji stil da koristim?

Pydantic koristite za proveru i parsiranje podataka iz API-ja, TypedDict za proveru tipova koda koji prosleđuje obične dict objekte, a dataclasses za jednostavne interne objekte koje sami pravite.

Koja verzija Pythona je potrebna za ovaj kod?

Python 3.10 ili noviji, zbog sintakse X | None; NotRequired u TypedDict zahteva verziju 3.11, ili typing_extensions u starijim verzijama.

Zašto su neka polja tipa Any?

Ključ koji je uvek null ili prazan niz ne daje nikakvu informaciju o svom tipu; zamenite Any stvarnim tipom iz dokumentacije vašeg API-ja.

Besplatan alat · pokretanja: u vašem pregledaču · nalog nije potreban