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) keobject
(JSON)daftar
(Python) kearray
(JSON)str
(Python) menjadistring
(JSON)int
,float
(Python) hinggaangka
(JSON)Benar
,Salah
(Python) menjadibenar
,salah
(JSON)None
(Python) kenull
(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.