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.
- Kategorija
- Alatke za programere
- Pokretanja
- U vašem pregledaču
- Trošak
- Besplatno · bez registracije
- Dostupnost
- Spremno za upotrebu
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
- Nalepite JSON primer, po mogućstvu niz sa nekoliko tipičnih zapisa.
- Izaberite dataclasses, TypedDict ili Pydantic i unesite naziv tipa najvišeg nivoa.
- 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