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








