JSON ke Python

Buat dataclass, model Pydantic, atau TypedDict Python dari JSON

Masukan JSON

Opsi

Model

Keluaran Python

Tempel JSON atau muat contoh untuk membuat kode Python.

Apa yang dihasilkan JSON ke Python

JSON ke Python mengubah respons API atau contoh JSON apa pun menjadi definisi tipe Python. Mode Dataclass menulis kelas @dataclass beserta class method from_dict, karena Root(**data) tidak membangun dataclass bersarang atau memetakan kunci yang namanya diubah. Mode Pydantic v2 menulis kelas BaseModel dan menambahkan Field(alias="original-key") serta populate_by_name hanya di tempat nama berubah. Mode TypedDict mempertahankan kunci JSON apa adanya dan beralih ke sintaks fungsional TypedDict("Name", {...}) jika sebuah kunci bukan pengenal yang valid.

Cara penggunaan
  1. 1.Tempel JSON, unggah atau jatuhkan berkas .json, atau muat salah satu contoh.
  2. 2.Atur nama tipe akar. Jika akar JSON berupa array berisi objek, nama ini dipakai untuk tipe elemennya dan RootList ditambahkan sebagai alias.
  3. 3.Pilih Dataclass, Pydantic v2, atau TypedDict dan tentukan apakah atribut memakai snake_case.
  4. 4.Baca catatan di bawah keluaran, lalu salin kode atau unduh models.py.
Cara tipe disimpulkan
  • •Setiap elemen array diperiksa, bukan hanya yang pertama, dan objek dalam array yang sama digabungkan.
  • •Kunci yang tidak ada di sebagian objek bersifat opsional; kunci yang kadang null dapat bernilai null. Keduanya dibedakan.
  • •1 dan 2.5 di posisi yang sama dilebarkan menjadi bilangan desimal; campuran lainnya dilaporkan.
  • •Array kosong dan nilai yang selalu null tidak memiliki bukti tipe, sehingga tipe generik dipakai dan catatan menjelaskan alasannya.
  • •Pemetaan tipe: string → str, bilangan bulat → int, desimal → float, boolean → bool, array → list[T], objek → kelas bersarang, tidak diketahui → Any, null teramati → T | None.
  • •Kata khusus menjadi class_, kunci yang diawali angka mendapat awalan field_, dan nama yang bentrok mendapat _2.
Batas dan privasi

Contoh hanya menunjukkan bentuk data pada satu waktu, bukan kontrak API lengkap. Tinjau field opsional, tipe generik, dan lebar angka sebelum mengandalkan kode. Masukan dibatasi 5 MB dan 256 tingkat bersarang; mulai 2 MB, pembuatan menunggu tombol Buat. Semua proses berjalan di peramban Anda dan JSON tidak pernah diunggah. Kode yang dihasilkan memakai sintaks union Python 3.10+; mode TypedDict dengan NotRequired memerlukan Python 3.11 atau typing_extensions.

CodingTool resmi diluncurkan di

Launched on StartupBaseCodingTool.dev - Free, Fast & Easy Developer Tools in One Place | Product HuntCodingTool - Featured on Startup FameFazier badgeListed on Turbo0Featured on Twelve ToolsFeatured on Findly.toolsLaunchpadly Startup DirectoryCodingTool.dev — Featured on Smol Launch