Python JSON: Baca, Tulis, Parse JSON (Dengan Contoh)

Dalam tutorial ini, Anda akan belajar mengurai, membaca, dan menulis JSON dengan Python dengan bantuan contoh. Selain itu, Anda akan belajar mengubah JSON menjadi dict dan mencetaknya dengan cantik.

JSON ( J ava S cript O bject N otation ) adalah format data populer yang digunakan untuk merepresentasikan data terstruktur. Mengirim dan menerima data antara server dan aplikasi web dalam format JSON merupakan hal yang umum.

Di Python, JSON ada sebagai string. Sebagai contoh:

 p = '("name": "Bob", "languages": ("Python", "Java"))' 

Ini juga umum untuk menyimpan objek JSON dalam sebuah file.

Impor Modul json

Untuk bekerja dengan JSON (string, atau file yang berisi objek JSON), Anda dapat menggunakan jsonmodul Python . Anda perlu mengimpor modul sebelum dapat menggunakannya.

 import json

Parse JSON dengan Python

The jsonModul membuatnya mudah untuk mengurai JSON string dan file yang berisi JSON objek.

Contoh 1: Python JSON untuk mendikte

Anda dapat mengurai string JSON menggunakan json.loads()metode. Metode mengembalikan kamus.

 import json person = '("name": "Bob", "languages": ("English", "Fench"))' person_dict = json.loads(person) # Output: ('name': 'Bob', 'languages': ('English', 'Fench')) print( person_dict) # Output: ('English', 'French') print(person_dict('languages'))

Di sini, person adalah string JSON, dan person_dict adalah kamus.

Contoh 2: Python membaca file JSON

Anda dapat menggunakan json.load()metode untuk membaca file yang berisi objek JSON.

Misalkan, Anda memiliki file bernama person.jsonyang berisi objek JSON.

  ("name": "Bob", "languages": ("English", "Fench") ) 

Berikut cara mengurai file ini:

  import json with open('path_to_file/person.json') as f: data = json.load(f) # Output: ('name': 'Bob', 'languages': ('English', 'Fench')) print(data) 

Di sini, kami telah menggunakan open()fungsi untuk membaca file json. Kemudian, file tersebut diurai menggunakan json.load()metode yang memberi kita kamus bernama data.

Jika Anda tidak tahu cara membaca dan menulis file dengan Python, kami sarankan Anda untuk memeriksa I / O File Python.

Konversi Python ke string JSON

Anda dapat mengonversi kamus menjadi string JSON menggunakan json.dumps()metode.

Contoh 3: Ubah dikt ke JSON

  import json person_dict = ('name': 'Bob', 'age': 12, 'children': None ) person_json = json.dumps(person_dict) # Output: ("name": "Bob", "age": 12, "children": null) print(person_json) 

Berikut adalah tabel yang menunjukkan objek Python dan konversinya yang setara ke JSON.

Python Setara JSON
dict obyek
list, tuple Himpunan
str tali
int, float,int jumlah
True benar
False Salah
None batal

Menulis JSON ke sebuah file

Untuk menulis JSON ke file dengan Python, kita bisa menggunakan json.dump()metode.

Contoh 4: Menulis JSON ke file

  import json person_dict = ("name": "Bob", "languages": ("English", "Fench"), "married": True, "age": 32 ) with open('person.txt', 'w') as json_file: json.dump(person_dict, json_file) 

Dalam program di atas, kami telah membuka file bernama person.txtdalam mode penulisan menggunakan 'w'. Jika file belum ada, itu akan dibuat. Kemudian, json.dump()ubah person_dictmenjadi string JSON yang akan disimpan di person.txtfile.

Saat Anda menjalankan program, person.txtfile akan dibuat. File tersebut memiliki teks berikut di dalamnya.

 ("name": "Bob", "languages": ("English", "Fench"), "married": true, "age": 32)

Python cukup mencetak JSON

Untuk menganalisis dan men-debug data JSON, kita mungkin perlu mencetaknya dalam format yang lebih mudah dibaca. Ini bisa dilakukan dengan meneruskan parameter tambahan indentdan sort_keyske json.dumps()dan json.dump()metode.

Contoh 5: Python cukup cetak JSON

  import json person_string = '("name": "Bob", "languages": "English", "numbers": (2, 1.6, null))' # Getting dictionary person_dict = json.loads(person_string) # Pretty Printing JSON string back print(json.dumps(person_dict, indent = 4, sort_keys=True)) 

Saat Anda menjalankan program, hasilnya adalah:

 ("bahasa": "Inggris", "nama": "Bob", "angka": (2, 1.6, null)) 

Dalam program di atas, kami telah menggunakan 4spasi untuk indentasi. Dan, kunci diurutkan dalam urutan menaik.

Omong-omong, nilai default indentasi adalah None. Dan, nilai default dari sort_keys adalah False.

Bacaan yang Direkomendasikan:

  • Python JSON ke CSV dan sebaliknya
  • Python XML ke JSON dan sebaliknya
  • Python simplejson

Artikel yang menarik...