Pengurai dan Validator Python JSON
Pelajari cara membaca, memvalidasi, memodifikasi, dan membuat serial JSON dengan Python. Kuasai perpustakaan json bawaan dengan contoh realistis.
Ikhtisar
JSON (JavaScript Object Notation) adalah format standar untuk pertukaran data di web. Python menyediakan modul bawaan yang kuat bernama `json` yang menerjemahkan string JSON ke kamus Python dan sebaliknya.
Modul ini memaparkan dua rangkaian operasi utama: `loads` dan `dumps` untuk menangani string JSON secara langsung, serta `load` dan `dump` untuk menulis atau membaca data langsung dari aliran file.
Saat bekerja dengan JSON, penanganan kesalahan sangat penting. Python memunculkan `json.JSONDecodeError` jika sintaksis string rusak, yang penting untuk ditangkap saat menggunakan payload dari API publik.
Kode & Output Eksekusi
Sebuah skrip yang menunjukkan validasi string JSON, penguraian dict, modifikasi, dan pencetakan cantik.
import json
raw_json = """
{
"status": "success",
"data": {
"user_id": 9042,
"username": "coder_xyz",
"roles": ["admin", "developer"],
"verified": true
}
}
"""
try:
# Parsing JSON string into Python dict
data = json.loads(raw_json)
print("--- JSON Decoded Successfully ---")
print(f"Username: {data['data']['username']}")
print(f"Is Admin: {'admin' in data['data']['roles']}")
# Mutating Python dict
data['data']['verified'] = False
data['data']['last_login'] = "2026-05-25"
# Serializing dict back to formatted JSON
pretty_json = json.dumps(data, indent=4)
print("\n--- Modified JSON String ---")
print(pretty_json)
except json.JSONDecodeError as e:
print(f"Invalid JSON Format: {e}")--- JSON Decoded Successfully ---
Username: coder_xyz
Is Admin: True
--- Modified JSON String ---
{
"status": "success",
"data": {
"user_id": 9042,
"username": "coder_xyz",
"roles": [
"admin",
"developer"
],
"verified": false,
"last_login": "2026-05-25"
}
}Implementasi Langkah demi Langkah
- Membaca konfigurasi aplikasi dan file kredensial
- Mengurai respons dari titik akhir REST API
- Menyimpan status atau level program dalam utilitas desktop
Pertanyaan yang Sering Diajukan
Apa perbedaan antara dump dan dump dengan Python?
`dumps` membuat serialisasi objek ke dalam format string JSON, sementara `dump` menulis aliran JSON serial langsung ke objek file yang dapat ditulisi.
Bagaimana cara Python menangani nilai null JSON?
Dekoder `json` Python secara otomatis memetakan JSON `null` ke `None`, `true` dan `false` ke `True` dan `False`, serta array ke daftar.