Bekerja dengan Data JSON di Python

JSON (JavaScript Object Notation) adalah format data ringan yang digunakan untuk pertukaran data antara server dan klien. Format ini umumnya digunakan dalam aplikasi web untuk mengirim dan menerima data. Python menyediakan modul bawaan yang disebut json yang memudahkan Anda bekerja dengan data JSON. Artikel ini akan memandu Anda mempelajari dasar-dasar bekerja dengan data JSON di Python, termasuk membaca, menulis, dan memanipulasi objek JSON.

Apa itu JSON?

JSON adalah format berbasis teks yang mudah dibaca dan ditulis oleh manusia dan mesin. Format ini terdiri dari pasangan kunci-nilai, mirip dengan kamus Python. Objek JSON pada umumnya terlihat seperti ini:

{
    "name": "Alice",
    "age": 30,
    "city": "New York",
    "is_student": false,
    "skills": ["Python", "JavaScript", "SQL"]
}

Mengimpor Modul JSON

Modul json disertakan dalam pustaka standar Python, jadi Anda tidak perlu menginstal apa pun. Cukup impor modul tersebut di awal skrip Anda:

import json

Membaca Data JSON

Anda dapat membaca data JSON dari string atau file. Metode json.loads() digunakan untuk mengurai data JSON dari string, sedangkan json.load() digunakan untuk membaca data JSON dari file.

Membaca JSON dari String

Untuk membaca JSON dari sebuah string, gunakan metode json.loads(), yang mengubah string JSON menjadi kamus Python.

# Example of reading JSON from a string
json_string = '{"name": "Alice", "age": 30, "city": "New York"}'
data = json.loads(json_string)

print(data)
print(data['name'])  # Output: Alice

Membaca JSON dari File

Untuk membaca data JSON dari sebuah berkas, gunakan metode json.load(). Metode ini membaca isi berkas dan mengubahnya menjadi kamus Python.

# Example of reading JSON from a file
with open('data.json', 'r') as file:
    data = json.load(file)

print(data)

Menulis Data JSON

Anda dapat menulis data JSON ke string atau file. Metode json.dumps() digunakan untuk mengubah objek Python menjadi string JSON, sedangkan json.dump() digunakan untuk menulis data JSON ke file.

Menulis JSON ke String

Untuk menulis JSON ke string, gunakan metode json.dumps(), yang mengubah kamus Python ke string JSON.

# Example of writing JSON to a string
data = {
    "name": "Bob",
    "age": 25,
    "city": "Los Angeles"
}

json_string = json.dumps(data)
print(json_string)

Menulis JSON ke File

Untuk menulis data JSON ke dalam sebuah berkas, gunakan metode json.dump(). Metode ini mengambil sebuah objek Python dan menuliskannya ke dalam berkas dalam format JSON.

# Example of writing JSON to a file
data = {
    "name": "Bob",
    "age": 25,
    "city": "Los Angeles"
}

with open('output.json', 'w') as file:
    json.dump(data, file)

Mencetak Data JSON dengan Cantik

Metode json.dumps() memiliki beberapa parameter yang memungkinkan Anda memformat data JSON agar lebih mudah dibaca. Parameter indent menentukan jumlah spasi yang akan digunakan untuk indentasi, sedangkan parameter sort_keys ​​mengurutkan kunci dalam output.

# Example of pretty-printing JSON data
data = {
    "name": "Charlie",
    "age": 35,
    "city": "Chicago"
}

json_string = json.dumps(data, indent=4, sort_keys=True)
print(json_string)

Mengonversi Antara Tipe Data JSON dan Python

Modul json Python dapat menangani berbagai tipe data dan mengonversinya antara JSON dan Python. Berikut referensi singkatnya:

  • dict (Python) ke object (JSON)
  • daftar (Python) ke array (JSON)
  • str (Python) menjadi string (JSON)
  • int, float (Python) hingga angka (JSON)
  • Benar, Salah (Python) menjadi benar, salah (JSON)
  • None (Python) ke null (JSON)

Penanganan Kesalahan JSON

Saat bekerja dengan JSON, kesalahan dapat terjadi karena format yang salah atau data yang tidak diharapkan. Modul json memunculkan pengecualian seperti JSONDecodeError saat menemui masalah tersebut. Gunakan blok try dan except untuk menangani kesalahan ini dengan baik.

# Handling JSON errors
json_string = '{"name": "Alice", "age": 30, "city": "New York"'  # Missing closing brace

try:
    data = json.loads(json_string)
except json.JSONDecodeError as e:
    print(f"Error decoding JSON: {e}")

Kesimpulan

Bekerja dengan data JSON merupakan keterampilan mendasar bagi pengembang Python, terutama dalam pengembangan web dan ilmu data. Modul json menyediakan metode yang mudah digunakan untuk membaca, menulis, dan memanipulasi data JSON. Dengan menguasai teknik-teknik ini, Anda dapat menangani data JSON secara efisien dalam aplikasi Python Anda.