JSON Python

JSON adalah sintaks yang digunakan untuk menyimpan dan mengganti data.

JSON ditulis dalam notasi objek JavaScript (JavaScript object notation) yang berupa teks.

JSON di Python

Python memiliki modul bernama json paket bawaan dalam Python, dapat digunakan untuk mengelola data JSON.

Instans

Impor json Modul:

import json

Pars JSON - Mengubah JSON menjadi Python

Jika ada string JSON, dapat digunakan json.loads() metode untuk memparsetnya.

Hasil akan menjadi dictionary Python.

Instans

Mengonversi JSON ke Python:

import json
# Beberapa JSON:
x =  '{ "name":"Bill", "umur":63, "kota":"Seatle"}
# Memparset x:
y = json.loads(x)
# Hasil adalah dictionary Python:
print(y["umur"])

Jalankan Instans

Mengonversi Python ke JSON

Jika ada objek Python, Anda dapat menggunakan json.dumps() metode untuk mengonversi ke string JSON.

Instans

Mengonversi Python ke JSON:

import json
# Objek Python (dictionaries):
x = {
  "nama": "Bill",
  "umur": 63,
  "kota": "Seatle"
}
# Mengonversi ke JSON:
y = json.dumps(x)
# Hasil adalah string JSON:
print(y)

Jalankan Instans

Anda dapat mengonversi objek Python berikut ini ke string JSON:

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

Instans

Mengonversi objek Python menjadi string JSON dan mencetak nilai:

import json
print(json.dumps({"name": "Bill", "age": 63}))
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))

Jalankan Instans

Ketika Python diubah menjadi JSON, objek Python akan diubah menjadi ekvivalen JSON (JavaScript):

Python JSON
dict Object
list Array
tuple Array
str String
int Number
float Number
True true
False false
None null

Instans

Mengonversi objek Python yang mengandung semua tipe data yang sah:

import json
x = {
  "nama": "Bill",
  "umur": 63,
  "menikah": True,
  "divorced": False,
  "children": ("Jennifer","Rory","Phoebe"),
  "pets": None,
  "cars": [
    {"model": "Porsche", "mpg": 38.2},
    {"model": "BMW M5", "mpg": 26.9}
  }
}
print(json.dumps(x))

Jalankan Instans

Perepotongan Hasil

Instans di atas mencetak string JSON, tetapi tidak mudah dibaca, tanpa indentasi dan paragraf.

json.dumps() Method menawarkan parameter untuk membuat hasil lebih mudah dibaca:

Instans

Penggunaan indent Parameter untuk menentukan bilangan indentasi:

json.dumps(x, indent=4)

Jalankan Instans

Anda juga dapat mendefinisikan penanda pemisah, nilai baku adalah (", ", ": "), yang berarti menggunakan koma dan spasi untuk memisahkan setiap objek, menggunakan tanda titik dan spasi untuk memisahkan kunci dan nilai:

Instans

Penggunaan separators Parameter untuk mengubah penanda pemisah baku:

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

Jalankan Instans

Mengurutkan hasil

json.dumps() Method menawarkan parameter untuk mengurutkan kunci di dalam hasil:

Instans

Penggunaan sort_keys Parameter untuk menentukan apakah hasil harus disusun:

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

Jalankan Instans