JSON (JavaScript Object Notation) adalah sebuah format data ringkas yang digunakan untuk pertukaran dan penyimpanan data. Di Python, JSON digunakan secara luas sebagai format standar untuk mengirim dan menerima data melalui API atau menyimpan data dalam file. Dengan menggunakan module bawaan Python JSON, Python dapat dengan mudah mengonversi data dari struktur Python menjadi format JSON dan sebaliknya. Ini memungkinkan pengguna Python untuk dengan mudah memproses dan berinteraksi dengan data yang dikodekan dalam JSON.
JSON dengan Python
Python memiliki module bawaan bernama json
, yang dapat digunakan untuk bekerja dengan data JSON.
Contoh:
Import module json.
import json
Parse JSON – Konversikan dari JSON ke Python
Jika Anda memiliki string JSON, Anda dapat menguraikannya dengan menggunakan fungsi json.loads()
.
Contoh:
Konversi dari JSON ke Python.
import json
# sebuah JSON:
x = '{ "nama":"Udin", "umur":30, "kota":"Jakarta"}'
# parse x:
y = json.loads(x)
# hasilnya adalah Python dictionary:
print(y["umur"])
Output:
30
Konversi dari Python ke JSON
Jika Anda memiliki object Python, Anda dapat mengubahnya menjadi string JSON dengan menggunakan fungsi json.dumps()
.
Contoh:
Konversi dari Python ke JSON.
import json
# object Python (dict):
x = {
"nama": "Udin",
"umur": 30,
"kota": "Jakarta"
}
# ubah menjadi JSON:
y = json.dumps(x)
# hasilnya adalah string JSON:
print(y)
Output:
{"nama": "Udin", "umur": 30, "kota": "Jakarta"}
Anda dapat mengonversi object Python dari tipe berikut, menjadi string JSON:
- dict
- list
- tuple
- string
- int
- float
- True
- False
- None
Contoh:
Ubah object Python menjadi string JSON, dan cetak nilainya.
import json
print(json.dumps({"nama": "Udin", "umur": 30}))
print(json.dumps(["apel", "pisang"]))
print(json.dumps(("apel", "pisang")))
print(json.dumps("halo"))
print(json.dumps(42))
print(json.dumps(31.76))
print(json.dumps(True))
print(json.dumps(False))
print(json.dumps(None))
Output:
{"nama": "Udin", "umur": 30}
["apel", "pisang"]
["apel", "pisang"]
"halo"
42
31.76
true
false
null
Saat Anda mengonversi dari Python ke JSON, object Python dikonversi menjadi setara JSON (JavaScript):
Python | JSON |
---|---|
dict | Object |
list | Array |
tuple | Array |
str | String |
int | Number |
float | Number |
True | true |
False | false |
None | null |
Contoh:
import json
x = {
"nama": "Udin",
"umur": 30,
"menikah": True,
"cerai": False,
"anak": ("Anna","Billy"),
"peliharaan": None,
"mobil": [
{"model": "BMW 230", "mpg": 27.5},
{"model": "Ford Edge", "mpg": 24.1}
]
}
# ubah menjadi JSON:
y = json.dumps(x)
# hasilnya adalah string JSON:
print(y)
Output:
{"nama": "Udin", "umur": 30, "menikah": true, "cerai": false, "anak": ["Anna", "Billy"], "peliharaan": null, "mobil": [{"model": "BMW 230", "mpg": 27.5}, {"model": "Ford Edge", "mpg": 24.1}]}
Format Hasil
Contoh di atas mencetak string JSON, tetapi tidak mudah dibaca, tanpa indentasi dan jeda baris.
Fungsi json.dumps()
memiliki parameter untuk memudahkan membaca hasilnya.
Contoh:
Gunakan parameter indent
untuk menentukan jumlah indentasi.
import json
x = {
"nama": "Udin",
"umur": 30,
"menikah": True,
"cerai": False,
"anak": ("Anna","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))
Output:
{
"nama": "Udin",
"umur": 30,
"menikah": true,
"cerai": false,
"anak": [
"Anna",
"Billy"
],
"peliharaan": null,
"mobil": [
{
"model": "BMW 230",
"mpg": 27.5
},
{
"model": "Ford Edge",
"mpg": 24.1
}
]
}
Anda juga dapat menentukan pemisah, nilai defaultnya adalah (“, “, “:”), yang berarti menggunakan koma dan spasi untuk memisahkan setiap object, dan titik dua dan spasi untuk memisahkan key dari nilai.
Contoh:
Gunakan parameter separators
untuk mengubah pemisah default.
import json
x = {
"nama": "Udin",
"umur": 30,
"menikah": True,
"cerai": False,
"anak": ("Anna","Billy"),
"peliharaan": None,
"mobil": [
{"model": "BMW 230", "mpg": 27.5},
{"model": "Ford Edge", "mpg": 24.1}
]
}
# menggunakan . dan spasi untuk memisahkan object, dan spasi, a = dan spasi untuk memisahkan kunci dari nilainya:
print(json.dumps(x, indent=4, separators=(". ", " = ")))
Output:
{
"nama" = "Udin".
"umur" = 30.
"menikah" = true.
"cerai" = false.
"anak" = [
"Anna".
"Billy"
].
"peliharaan" = null.
"mobil" = [
{
"model" = "BMW 230".
"mpg" = 27.5
}.
{
"model" = "Ford Edge".
"mpg" = 24.1
}
]
}
Mengurutkan Hasil
Fungsi json.dumps()
memiliki parameter untuk mengurutkan key dalam hasil.
Contoh:
Gunakan parameter sort_keys
untuk menentukan apakah hasilnya harus diurutkan atau tidak.
import json
x = {
"nama": "Udin",
"umur": 30,
"menikah": True,
"cerai": False,
"anak": ("Anna","Billy"),
"peliharaan": None,
"mobil": [
{"model": "BMW 230", "mpg": 27.5},
{"model": "Ford Edge", "mpg": 24.1}
]
}
# urutkan hasilnya menurut abjad dengan kunci:
print(json.dumps(x, indent=4, sort_keys=True))
Output:
{
"anak": [
"Anna",
"Billy"
],
"cerai": false,
"menikah": true,
"mobil": [
{
"model": "BMW 230",
"mpg": 27.5
},
{
"model": "Ford Edge",
"mpg": 24.1
}
],
"nama": "Udin",
"peliharaan": null,
"umur": 30
}
Tutorial sebelumnya : Python Math
Tutorial setelahnya : Python RegEx
Semua Tutorial Python : Tutorial Python