Cara Membaca dan Menulis File Json dengan Python

How Read Write Json Files Python



Artikel ini akan menjelaskan cara menangani file dan data JSON dalam bahasa pemrograman Python. Python hadir dengan modul json bawaan yang membuat penanganan data JSON menjadi mudah dan langsung.

Tentang JSON

JSON (JavaScript Object Notation) adalah format file dan standar penyimpanan data yang menggunakan pasangan nilai kunci untuk menyimpan dan bertukar data. Ini adalah format pertukaran data yang paling banyak digunakan, sering terlihat di RESTful API, database ringan, file konfigurasi, dan perangkat lunak offline atau online lainnya yang perlu menyimpan, mengambil, dan bertukar data. Sebagian besar bahasa pemrograman menyertakan pustaka untuk mengurai dan menulis data JSON secara default dan JSON adalah format data agnostik bahasa pemrograman. Nilai yang disimpan dalam file JSON atau muatan biasanya berisi string, angka, dan tipe data serial seperti daftar (array).







Kamus JSON dan Python

Data JSON di python diubah menjadi objek kamus dengan menggunakan metode load. Sering terlihat bahwa beberapa orang menyamakan data json dan kamus python, karena sintaks untuk mendefinisikan keduanya hampir sama. Namun, data json tidak lain adalah string teks yang terstruktur dalam sintaksis yang kaku sementara kamus python adalah objek struktur data yang disimpan dalam memori. Jika Anda ingin menyimpan data kamus dalam file teks atau mengirimkannya ke program non-python lain, Anda harus terlebih dahulu mengubahnya menjadi string teks (byte). String teks yang dibuang / dikonversi ini didefinisikan dalam sintaks standar JSON dan proses mengubah kamus python menjadi string yang kompatibel dengan json disebut serialisasi.



Membaca dan Membuang Data JSON dengan Python

Data JSON dapat diambil sebagai respons dari server, dibaca dari file, diiris dari parameter kueri URL, dan sebagainya. Artikel ini terutama akan berfokus pada membaca data json dari file yang disimpan secara lokal. Mari kita asumsikan bahwa file test.json berisi data berikut:



{'codename': 'Eoan Ermine', 'version': 'Ubuntu 19.10'}

Untuk membaca file test.json dengan python, Anda dapat menggunakan kode di bawah ini:





imporjson

dengan membuka ('test.json') sebagaiF:
data=json.memuat(F)

membuang=json.kesedihan(data)

mencetak (data)
mencetak (Tipe(data))
mencetak (membuang)
mencetak (Tipe(membuang))

Baris pertama dalam kode di atas mengimpor modul json. Pada baris berikutnya, dengan open digunakan untuk membaca isi file dengan aman. Di dalam blok with open, metode json.load digunakan untuk membaca dan menyimpan konten file dalam variabel data. Data yang dimuat pada langkah sebelumnya diubah kembali menjadi string json menggunakan metode json.dump. Menjalankan kode di atas akan menampilkan output berikut:

{'nama kode':'Eoan Ermine', 'Versi: kapan':'Ubuntu 19.10'}
<kelas 'dikt'>
{'nama kode':'Eoan Ermine', 'Versi: kapan':'Ubuntu 19.10'}
<kelas 'str'>

Perhatikan pada output di atas bahwa metode json.load membaca data json mentah menjadi kamus python sementara metode json.dumps mengubah kamus menjadi string yang kompatibel dengan struktur JSON. Setelah objek JSON diubah menjadi objek kamus python, Anda dapat menggunakan metode kamus python bawaan untuk menangani data. Contoh di atas cukup mendasar dan tidak menyertakan array dalam data JSON atau nilai bersarang. Namun di dalam python, Anda dapat menangani nilai-nilai ini seperti kamus dan daftar bersarang lainnya.



Menyortir dan Mencetak Data JSON dengan Cantik

Metode json.dump mendukung beberapa parameter opsional untuk menyortir kunci dan mencetak output dengan cantik untuk meningkatkan keterbacaan.

imporjson

dengan membuka ('test.json') sebagaiF:
data=json.memuat(F)

membuang=json.kesedihan(data,sort_keys=benar,lekukan=4)
mencetak (membuang)

Kode di atas akan menampilkan output berikut:

{
'nama kode': 'Eoan Ermine',
'versi': 'Ubuntu 19.10'
}

Konversi Tipe Data

Daftar di bawah ini mengilustrasikan bagaimana nilai JSON diubah menjadi objek python dan sebaliknya.

JSON Python
rangkaian P
nomor int atau mengambang
benar salah Benar salah
batal Tidak ada
Himpunan Daftar
obyek dikte

Modul Baris Perintah Json.tool

Python menyertakan utilitas baris perintah yang bagus json.tool yang dapat digunakan untuk memvalidasi dan mencetak string dan file JSON dengan cantik.

$ gema'{'codename': 'Eoan Ermine', 'version': 'Ubuntu 19.10'}'| python3 -m json.alat

Menjalankan perintah di atas akan menampilkan output berikut:

{
'nama kode': 'Eoan Ermine',
'versi': 'Ubuntu 19.10'
}

Anda juga dapat menggunakan json.tool dengan file JSON. Ganti in_file dan out_file pada perintah di bawah ini dengan nilai yang Anda inginkan:

$ python3 -m json.alatin_file out_file

Selain mencetak cantik, menyortir, dan memvalidasi data JSON, json.tool tidak melakukan hal lain. Jadi jika Anda ingin memanipulasi data JSON apa pun, Anda harus menulis kode kustom Anda sendiri menggunakan modul JSON bawaan.