Home » python » Python JSON: Code dan Cara Membuatnya

Python JSON: Code dan Cara Membuatnya

by Catur Kurnia Sari
by Catur Kurnia Sari

JSON adalah sintaks untuk menyimpan dan bertukar data.

JSON adalah tipe data teks, ditulis dengan notasi objek JavaScript.

JSON dengan Python

Python memiliki paket bawaan yang disebut json, yang dapat digunakan untuk bekerja dengan data JSON.

Contoh:
Impor modul json

import json

Parse JSON – Konversi dari JSON ke Python

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"])
​

Konversi dari Python ke JSON

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:

  • dict
  • list
  • tuple
  • string
  • int
  • float
  • True
  • False
  • None

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:

PythonJSON
dictObject
listArray
tupleArray
strString
intAngka
floatAngka
Truetrue
Falsefalse
Nonenull

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)

Format Hasilnya

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))

You may also like