0Pricing
Python Academy · Pelajaran

Encoding dan Decoding JSON

Gunakan json.loads, json.dumps, dan json.load/dump untuk input/output JSON.

Encoding dan Decoding JSON adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Python Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python Academy mencakup 4 pelajaran total.

Pendahuluan

Modul json Python mengonversi objek Python menjadi string atau berkas JSON, dan sebaliknya, dengan fungsi yang sederhana dan konsisten.

json.dumps()

json.dumps(obj) menserialisasi objek Python menjadi string JSON. indent=2 mencetaknya dengan format yang lebih mudah dibaca.
import json
d = {'name': 'Alice', 'age': 30, 'active': True}
print(json.dumps(d, indent=2))

json.loads()

json.loads(s) mengurai string JSON menjadi objek Python. Objek JSON menjadi dict, sedangkan array menjadi list.
import json
s = '{"name": "Alice", "scores": [90, 85]}'
data = json.loads(s)
print(type(data), data['name'])

json.dump() ke Berkas

json.dump(obj, file_object) langsung menserialisasi ke berkas. Anda tidak perlu menyimpan string terlebih dahulu.
import json, tempfile, os
tmp = tempfile.mktemp(suffix='.json')
with open(tmp, 'w') as f:
    json.dump({'x': 1}, f, indent=2)
print(open(tmp).read())
os.unlink(tmp)

json.load() dari Berkas

json.load(file_object) langsung mengurai JSON dari objek berkas yang terbuka.
import json, io
buf = io.StringIO('{"key": "value"}')
data = json.load(buf)
print(data)

Pemetaan Jenis JSON

Objek JSON→dict. array→list. string→str. number→int/float. true/false→True/False. null→None.
import json
s = '[1, "two", true, null, {"a": 3.14}]'
print(json.loads(s))

Jenis yang Tidak Dapat Diserialisasi

datetime, set, dan bytes tidak dapat diserialisasi menjadi JSON. Sediakan fungsi default= atau turunkan JSONEncoder.
import json
from datetime import datetime
def default(obj):
    if isinstance(obj, datetime):
        return obj.isoformat()
    raise TypeError(f'{type(obj)} not serializable')
print(json.dumps({'ts': datetime.now()}, default=default))

sort_keys dan separators

sort_keys=True mengurutkan kunci dict. separators=(',', ':') menghapus spasi kosong untuk keluaran yang ringkas.
import json
d = {'z': 3, 'a': 1, 'm': 2}
print(json.dumps(d, sort_keys=True, separators=(',', ':')))

Pencetakan dengan Format Rapi

json.dumps(obj, indent=4, ensure_ascii=False) menghasilkan JSON yang mudah dibaca dengan Unicode tetap dipertahankan.
import json
d = {'name': 'Mehmet', 'city': 'Istanbul'}
print(json.dumps(d, indent=4, ensure_ascii=False))

JSONDecodeError

json.loads(invalid) memunculkan json.JSONDecodeError. Selalu bungkus penguraian input pengguna dalam try/except.
import json
try:
    json.loads('{bad json}')
except json.JSONDecodeError as e:
    print(f'Parse error: {e}')

Memperbarui Berkas JSON

Baca → ubah → tulis kembali: pola standar untuk memperbarui berkas konfigurasi JSON.
import json, io
buf = io.StringIO('{"count": 5}')
data = json.load(buf)
data['count'] += 1
print(json.dumps(data))

Pemeriksaan Singkat

Fungsi apa yang mengurai string JSON menjadi objek Python?

Ringkasan

json.dumps/loads untuk string, json.dump/load untuk berkas. Jenis: object→dict, array→list, null→None. Serialisasi khusus melalui fungsi default=.

Lanjutkan

Pertahankan semangat Anda! Lanjutkan ke pelajaran berikutnya.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Encoding dan Decoding JSON” gratis?

Ya — teks lengkap “Encoding dan Decoding JSON” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Python Academy, upgrade ke CoddyKit PRO. Kursus Python Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Encoding dan Decoding JSON”?

Gunakan json.loads, json.dumps, dan json.load/dump untuk input/output JSON. Kamu berlatih Python Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Python Academy?

Tidak diperlukan pengalaman sebelumnya. Python Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Encoding dan Decoding JSON” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Python Academy ini?

Ya. Setiap pelajaran Python Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Encoding dan Decoding JSON
  2. Menangani Struktur JSON Bersarang
  3. Membaca CSV dengan csv.reader
  4. Menulis CSV dengan csv.DictWriter
← Kembali ke Python Academy