Cara Membaca dan Menulis Fail Json di Python

How Read Write Json Files Python



Artikel ini akan menerangkan cara menangani fail dan data JSON dalam bahasa pengaturcaraan Python. Python dilengkapi dengan modul json terbina dalam yang menjadikan pengendalian data JSON mudah dan mudah.

Mengenai JSON

JSON (Notasi Objek JavaScript) adalah format fail dan standard penyimpanan data yang menggunakan pasangan nilai-kunci untuk menyimpan dan menukar data. Ini adalah format pertukaran data yang paling banyak digunakan, sering dilihat di RESTful API, pangkalan data ringan, fail konfigurasi, dan perisian luar talian atau dalam talian lain yang perlu menyimpan, mengambil dan menukar data. Sebilangan besar bahasa pengaturcaraan merangkumi perpustakaan untuk menghurai dan menulis data JSON secara lalai dan JSON adalah format data agnostik bahasa pengaturcaraan. Nilai yang disimpan dalam fail JSON atau muatan biasanya mengandungi rentetan, nombor dan jenis data bersiri seperti senarai (tatasusunan).







Kamus JSON dan Python

Data JSON dalam python diubah menjadi objek kamus dengan menggunakan kaedah memuat. Sering kali dilihat bahawa sebilangan orang menyamakan data json dan kamus python, kerana sintaks untuk menentukan kedua-duanya hampir sama. Walau bagaimanapun, data json tidak lain hanyalah rentetan teks yang disusun dalam sintaks yang kaku sementara kamus python adalah objek struktur data yang tersimpan dalam memori. Sekiranya anda ingin menyimpan data kamus dalam fail teks atau menghantarnya ke program non-python lain, anda harus menukarnya terlebih dahulu menjadi rentetan teks (bait). Rentetan teks yang dibuang / ditukar ini ditentukan dalam sintaks standard JSON dan proses menukar kamus python menjadi rentetan yang sesuai dengan json disebut serialisasi.



Membaca dan Membuang Data JSON di Python

Data JSON dapat diambil sebagai respons dari pelayan, dibaca dari fail, dihiris dari parameter pertanyaan URL dan sebagainya. Artikel ini akan memberi tumpuan terutamanya pada membaca data json dari fail yang disimpan secara tempatan. Mari kita anggap bahawa fail test.json mengandungi data berikut:



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

Untuk membaca fail test.json di python, anda boleh menggunakan kod di bawah:





mengimportjson

dengan buka ('test.json') sebagaif:
data=json.memuatkan(f)

pembuangan=json.pembuangan sampah(data)

mencetak (data)
mencetak (menaip(data))
mencetak (pembuangan)
mencetak (menaip(pembuangan))

Baris pertama dalam kod di atas mengimport modul json. Pada baris seterusnya, dengan terbuka digunakan untuk membaca isi fail dengan selamat. Dalam blok terbuka, kaedah json.load digunakan untuk membaca dan menyimpan kandungan fail dalam pemboleh ubah data. Data yang dimuat pada langkah sebelumnya diubah kembali menjadi json string menggunakan kaedah json.dump. Menjalankan kod di atas akan menunjukkan output berikut:

{'nama kod':'Eoan Ermine', 'versi':'Ubuntu 19.10'}
<kelas 'imbas'>
{'nama kod':'Eoan Ermine', 'versi':'Ubuntu 19.10'}
<kelas 'str'>

Perhatikan pada output di atas bahawa kaedah json.load membaca data json mentah menjadi kamus python sementara kaedah json.dumps menukar kamus menjadi rentetan yang sesuai dengan struktur JSON. Setelah objek JSON diubah menjadi objek kamus python, anda boleh menggunakan kaedah kamus python terbina dalam untuk mengendalikan data. Contoh di atas cukup asas dan tidak termasuk tatasusunan dalam data JSON atau nilai bersarang. Walau bagaimanapun, dalam python, anda dapat menangani nilai-nilai ini seperti kamus dan senarai bersarang yang lain.



Menyusun dan Mencetak Data JSON Cantik

Kaedah json.dump menyokong beberapa parameter pilihan untuk mengisih kunci dan mencetak output dengan cantik untuk pembacaan yang lebih baik.

mengimportjson

dengan buka ('test.json') sebagaif:
data=json.memuatkan(f)

pembuangan=json.pembuangan sampah(data,urutkan_kunci=Betul,inden=4)
mencetak (pembuangan)

Kod di atas akan menunjukkan output berikut:

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

Penukaran Jenis Data

Senarai di bawah menggambarkan bagaimana nilai JSON ditukar menjadi objek python dan sebaliknya.

JSON Python
tali hlm
nombor int atau terapung
betul salah Betul salah
batal Tiada
susunan senarai
objek imlak

Modul Baris Perintah Json.tool

Python merangkumi json.tool utiliti baris perintah yang bagus yang boleh digunakan untuk mengesahkan dan mencetak rentetan dan fail JSON.

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

Menjalankan perintah di atas akan menunjukkan kepada anda output berikut:

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

Anda juga boleh menggunakan json.tool dengan fail JSON. Gantikan in_file dan out_file dalam arahan di bawah dengan nilai yang anda inginkan:

$ python3 -m json.alatdalam_file keluar_file

Selain mencetak, menyusun dan mengesahkan data JSON yang cantik, json.tool tidak melakukan perkara lain. Oleh itu, jika anda ingin memanipulasi data JSON, anda mesti menulis kod tersuai anda sendiri menggunakan modul JSON terbina dalam.