JSON Di Python

JSON adalah sintaks untuk menyimpan dan bertukar data.

JSON adalah teks, ditulis dengan notasi objek JavaScript.

JSON dengan Python

Python memiliki paket built-in yang disebut json, yang dapat digunakan untuk bekerja dengan data JSON.

Contoh

Impor modul json:

import json

Parse JSON – Mengubah dari JSON ke Python

Jika kamu memiliki string JSON, kamu dapat menguraikannya dengan menggunakan metode json.loads()ini.

Hasilnya akan menjadi kamus di Python .

Contoh

Menngubah dari JSON ke Python:

import json

# some JSON:
x =  '{ "name":"John", "age":30, "city":"New York"}'

# parse x:
y = json.loads(x)

# the result is a Python dictionary:
print(y["age"])

Mengubah dari Python ke JSON

Jika kamu memiliki objek Python, kamu bisa mengubahnya menjadi string JSON dengan menggunakan metode json.dumps()ini.

Contoh

Mengubah dari Python ke JSON:

import json

# a Python object (dict):
x = {
  "name": "John",
  "age": 30,
  "city": "New York"
}

# convert into JSON:
y = json.dumps(x)

# the result is a JSON string:
print(y)

Kamu bisa mengubah objek Python dari tipe berikut, menjadi string JSON:

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

Contoh

Mengubah objek Python menjadi string JSON, dan cetak nilainya:

import json

print(json.dumps({"name": "John", "age": 30}))
print(json.dumps(["apple", "bananas"]))
print(json.dumps(("apple", "bananas")))
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 kamu mengubah dari Python ke JSON, objek Python diubah menjadi JSON (JavaScript):

Python JSON
Dict Object
List Array
Tuple Array
Str String
Int Number
Float Number
True true
False false
None null

Contoh

Mengubah objek Python yang berisi semua tipe data legal:

import json

x = {
  "name": "John",
  "age": 30,
  "married": True,
  "divorced": False,
  "children": ("Ann","Billy"),
  "pets": None,
  "cars": [
    {"model": "BMW 230", "mpg": 27.5},
    {"model": "Ford Edge", "mpg": 24.1}
  ]
}

print(json.dumps(x))

Hasil Format

Contoh di atas membuat string JSON, tetapi tidak mudah dibaca, tanpa indentansi dan jeda baris.

Metode json.dumps() memiliki parameter untuk membuatnya lebih mudah untuk membaca hasilnya:

Contoh

Gunakan parameter indent untuk menentukan jumlah indentasi:

json.dumps(x, indent=4)

Kamu juga dapat mendefinisikan pemisah, nilai default adalah (“,”, “:”), yang berarti menggunakan koma dan spasi untuk memisahkan setiap objek, dan titik dua serta ruang untuk memisahkan kunci dari nilai:

Contoh

Gunakan parameter separators untuk mengubah pemisah default:

json.dumps(x, indent=4, separators=(". ", " = "))

Hasil Order

Metode json.dumps() memiliki parameter untuk memesan kunci dalam hasil:

Contoh

Gunakan parameter sort_keys untuk menentukan apakah hasilnya harus diurutkan atau tidak:

json.dumps(x, indent=4, sort_keys=True)