Pengembang / Jenis
Konverter JSON ke Python
Ubah sampel JSON menjadi dataclasses Python, definisi TypedDict, atau model Pydantic, dengan kelas bertingkat, field opsional dan nullable, serta nama snake_case.
Konverter JSON ke Python: Konverter ini membaca struktur sampel: setiap objek menjadi sebuah class, array menjadi list[...], dan objek dalam sebuah array digabungkan. Dengan begitu, key yang tidak ada pada sebagian record menjadi opsional, sedangkan key yang kadang bernilai null menjadi "| None". Key yang bukan nama Python yang valid diubah menjadi snake_case; model Pydantic tetap menyimpan key asli sebagai alias, sedangkan TypedDict menggunakan bentuk fungsionalnya. Output untuk beberapa sampel yang rumit dijalankan di Python 3.13, dan Pydantic digunakan untuk memvalidasi sampel terhadap output tersebut. Berjalan 100% lokal di browser Anda tanpa upload file ke server.
- Kategori
- Tools developer
- Dijalankan
- Di browser Anda
- Biaya
- Gratis · tanpa daftar
- Ketersediaan
- Siap digunakan
Berjalan sepenuhnya di browser Anda
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]
Ditulis untuk Python 3.10 atau yang lebih baru. Key yang tidak ada pada beberapa objek menjadi opsional; key yang terkadang bernilai null menjadi “| None”. Dataclasses tidak memetakan key yang diubah namanya kembali ke JSON, jadi gunakan Pydantic, yang menambahkan alias, jika key bukan nama Python yang valid.
Dari tipe ke validasi
Type hint saja tidak memeriksa data saat runtime: json.loads menghasilkan dict dan list biasa, terlepas dari anotasinya. Model Pydantic memvalidasi dan mengonversi data saat data diuraikan dengan Model.model_validate(data), lalu melaporkan setiap field yang tidak sesuai.
Untuk sample yang sama dalam bahasa lain, lihat JSON to TypeScript dan JSON to Go; untuk kontrak yang tidak bergantung pada bahasa tertentu, lihat JSON to JSON Schema.
Mendapatkan sample yang baik
Tempelkan beberapa record, bukan hanya satu, termasuk record dengan field opsional atau kosong, agar converter dapat melihat key mana yang selalu ada. Nilai yang selalu null atau array kosong akan menjadi Any dan perlu diisi secara manual.
Cara menggunakannya
- Tempelkan sampel JSON, idealnya berupa array dengan beberapa record yang umum.
- Pilih dataclasses, TypedDict, atau Pydantic, lalu beri nama pada tipe tingkat teratas.
- Salin kelas yang dihasilkan ke project Anda.
Privasi & batasan
JSON dikonversi di browser Anda dan tidak pernah di-upload.
Alat terkait
Pertanyaan umum
Gaya mana yang sebaiknya saya gunakan?
Gunakan Pydantic untuk memvalidasi dan mengurai data dari API, TypedDict untuk memeriksa tipe kode yang meneruskan dict biasa, dan dataclasses untuk objek internal sederhana yang Anda buat sendiri.
Versi Python mana yang diperlukan oleh kode ini?
Python 3.10 atau yang lebih baru, untuk sintaks X | None; NotRequired dalam TypedDict memerlukan Python 3.11, atau typing_extensions pada versi yang lebih lama.
Mengapa beberapa field bertipe Any?
Key yang selalu bernilai null atau array kosong tidak memberikan petunjuk tentang tipenya; ganti Any dengan tipe sebenarnya dari dokumentasi API Anda.
Alat gratis · berjalan di browser anda · tanpa perlu akun