JSON adalah sintaks untuk menyimpan dan bertukar data.
JSON adalah tipe data teks, ditulis dengan notasi objek JavaScript.
Section Artikel
Python memiliki paket bawaan yang disebut json, yang dapat digunakan untuk bekerja dengan data JSON.
Contoh:
Impor modul json
import json
Jika kita memiliki string JSON, maka kita dapat menguraikannya dengan menggunakan metode json.loads().
Contoh:
Konversi dari JSON ke Python
import json # JSON: x = '{ "nama":"John", "usia":30, "kota":"New York"}' # parse x: y = json.loads(x) # Hasilnya adalah kamus python print(y["usia"])
Jika kita memiliki objek Python, kita dapat mengubahnya menjadi string JSON dengan menggunakan metode json.dumps().
Contoh:
Konversi dari Python ke JSON
import json # Python object (dict): x = { "nama": "John", "usia": 30, "kota": "New York" } # Konvert menjadi JSON: y = json.dumps(x) # Hasilnya JSON string: print(y)
Python dapat mengonversi objek dari tipe berikut, menjadi string JSON:
Contoh:
Ubah objek Python menjadi string JSON, dan cetak nilainya
import json print(json.dumps({"nama": "John", "usia": 30})) print(json.dumps(["apel", "pisang"])) print(json.dumps(("apel", "pisang"))) print(json.dumps("hello")) print(json.dumps(42)) print(json.dumps(31.76)) print(json.dumps(True)) print(json.dumps(False)) print(json.dumps(None))
Saat mengonversi dari Python ke JSON, objek Python diubah menjadi setara JSON (JavaScript) seperti dibawah ini:
Python | JSON |
---|---|
dict | Object |
list | Array |
tuple | Array |
str | String |
int | Angka |
float | Angka |
True | true |
False | false |
None | null |
Contoh:
Mengonversi objek Python yang berisi semua tipe data legal
import json x = { "nama": "John", "usia": 30, "menikah": True, "bercerai": False, "anak": ("Ann","Billy"), "peliharaan": None, "mobil": [ {"model": "BMW 230", "mpg": 27.5}, {"model": "Ford Edge", "mpg": 24.1} ] } # convert menjadi JSON: y = json.dumps(x) # hasilnya JSON string: print(y)
Contoh di atas menunjukan cara mencetak string JSON, tetapi sangat tidak mudah dibaca, tanpa indentasi dan jeda baris.
Metode json.dumps() memiliki parameter untuk memudahkan pembacaan hasilnya.
Contoh:
Gunakan parameter indentasi untuk menentukan jumlah indentasi
import json x = { "nama": "John", "usia": 30, "menikah": True, "cerai": False, "anak": ("Ann","Billy"), "peliharaan": None, "mobil": [ {"model": "BMW 230", "mpg": 27.5}, {"model": "Ford Edge", "mpg": 24.1} ] } # gunakan empat indentasi agar lebih mudah membaca hasilnya: print(json.dumps(x, indent=4))
Kita juga dapat menentukan pemisah, nilai defaultnya adalah (“,”, “:”), yang berarti menggunakan koma dan spasi untuk memisahkan setiap objek, serta titik dua dan spasi untuk memisahkan kunci dari nilai.
Contoh:
Gunakan parameter pemisah untuk mengubah pemisah default
import json x = { "nama": "John", "usia": 30, "menikah": True, "cerai": False, "anak": ("Ann","Billy"), "peliharaan": None, "mobil": [ {"model": "BMW 230", "mpg": 27.5}, {"model": "Ford Edge", "mpg": 24.1} ] } # gunakan . dan spasi untuk memisahkan objek, dan spasi, a = dan spasi untuk memisahkan kunci dari nilainya: print(json.dumps(x, indent=4, separators=(". ", " = ")))
Urutan Hasilnya
Metode json.dumps() memiliki parameter untuk mengurutkan kunci dalam hasil.
Contoh:
Gunakan parameter sort_keys untuk menentukan apakah hasil harus diurutkan atau tidak
import json x = { "nama": "John", "usia": 30, "menikah": True, "cerai": False, "anak": ("Ann","Billy"), "peliharaan": None, "mobil": [ {"model": "BMW 230", "mpg": 27.5}, {"model": "Ford Edge", "mpg": 24.1} ] } # urutkan hasil menurut abjad dengan kunci: print(json.dumps(x, indent=4, sort_keys=True))