Parsing Python JSON: Serialisasi & Deserialisasi
Pelajari cara membaca, menulis, dan mengurai data JSON dengan Python. Kuasai json.loads, json.dumps, dan sesuaikan encoder/decoder JSON.
Ikhtisar
JSON (JavaScript Object Notation) adalah format pertukaran data ringan yang mendominasi API web modern, konfigurasi, dan payload database. Karena struktur JSON menyerupai kamus dan daftar Python, penerjemahan antar keduanya menjadi sangat lancar. Python dilengkapi dengan modul `json` bawaan, sehingga memudahkan untuk mengurai string JSON menjadi objek Python dan mengonversi objek Python kembali menjadi string JSON.
Proses menerjemahkan objek Python (seperti kamus) ke dalam string JSON mentah disebut Serialisasi atau pengkodean. Ini ditangani oleh `json.dumps()` (untuk string) dan `json.dump()` (untuk menulis langsung ke file). Anda dapat mengontrol parameter pemformatan seperti `indent` untuk mempercantik JSON, atau `sort_keys` untuk menjaga agar atribut tetap diurutkan berdasarkan abjad. Sebaliknya, penguraian string JSON ke dalam kamus Python disebut Deserialisasi, yang dijalankan melalui `json.loads()` dan `json.load()`.
Meskipun tipe Python standar seperti string, angka, daftar, dan dikt diserialkan ke JSON secara otomatis, objek khusus (seperti kelas atau objek datetime) tidak. Mencoba menyandikan objek khusus secara langsung akan memunculkan `TypeError`. Untuk mengatasinya, pengembang harus membuat kelas encoder khusus yang mewarisi `json.JSONEncoder` dan mengganti metode `.default()` untuk membuat serial kelas ke dalam kamus yang dapat dibaca. Menguasai manipulasi JSON adalah kunci untuk berkomunikasi dengan layanan web eksternal.
Kode & Output Eksekusi
Mengonversi kamus menjadi string JSON dan menguraikannya kembali menggunakan perpustakaan json bawaan.
import json
# Python Dictionary representing a user profile
user_profile = {
"name": "Alex",
"is_premium": True,
"skills": ["Python", "Docker"],
"age": 28
}
# Serialize dictionary to JSON string
json_string = json.dumps(user_profile, indent=2)
print("--- JSON String ---")
print(json_string)
# Deserialize JSON string back to dictionary
parsed_dict = json.loads(json_string)
print("\n--- Parsed Python Dictionary ---")
print(f"Name: {parsed_dict['name']}")
print(f"First Skill: {parsed_dict['skills'][0]}")--- JSON String ---
{
"name": "Alex",
"is_premium": true,
"skills": [
"Python",
"Docker"
],
"age": 28
}
--- Parsed Python Dictionary ---
Name: Alex
First Skill: PythonImplementasi Langkah demi Langkah
- Mengirim payload dan membaca data dari REST API
- Menyimpan preferensi konfigurasi di dalam file settings.json
- Melewati muatan terstruktur antar layanan mikro
Pertanyaan yang Sering Diajukan
Apa perbedaan antara json.dump dan json.dumps?
json.dump (tanpa 's') menulis data JSON langsung ke aliran file. json.dumps (dengan 's') membuat serial data menjadi variabel string Python.
Bagaimana Anda menangani kesalahan dekode JSON?
Bungkus kode penguraian Anda dalam blok coba/kecuali yang menangkap 'json.JSONDecodeError' untuk menangani string JSON yang formatnya salah dengan baik.
Topik Terkait
Kamus Master Python. Pelajari cara menyimpan, mengambil, dan menangani data pasangan nilai kunci. Memahami kinerja dan praktik terbaik untuk pemetaan.
I/O File PythonPelajari cara membaca dan menulis file dengan Python. Kuasai open(), read(), write(), dan manajer konteks untuk menangani operasi file dengan aman tanpa kebocoran sumber daya.
Python CSVPelajari cara menangani data CSV dengan Python. Kuasai csv.reader, csv.writer, dan DictReader/DictWriter untuk penguraian tabel yang efisien.
Sumber Daya Python yang Direkomendasikan
Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.
Cara Membaca dan Mengurai File JSON dengan Python
Pelajari cara membaca, mengurai, dan memuat file JSON dengan Python menggunakan modul json bawaan. Kuasai mengonversi string JSON ke kamus dan sebaliknya.
Lembar
Panduan referensi lengkap untuk manipulasi string Python. Kuasai pemformatan, pencarian, pemisahan, penggantian, dan pemeriksaan properti string.
Python vs JavaScript: Bahasa Pemrograman Mana yang Terbaik?
Perbandingan komprehensif antara Python dan JavaScript. Jelajahi perbedaan sintaksis, kinerja, kasus penggunaan (backend vs frontend), dan contoh pengkodean.