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 "muat". 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 didefinisikan 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 "ujian.fail json ”mengandungi data berikut:
"codename": "Eoan Ermine", "version": "Ubuntu 19.10 "Untuk membaca ujian.fail json di python, anda boleh menggunakan kod di bawah:
import jsondengan ujian terbuka (".json ") sebagai f:
data = json.beban (f)
lambakan = json.lambakan (data)
mencetak (data)
mencetak (jenis (data))
cetak (lambakan)
cetak (jenis (lambakan))
Baris pertama dalam kod di atas mengimport modul json. Pada baris seterusnya, "dengan terbuka" digunakan untuk membaca isi fail dengan selamat. Di dalam blok "dengan terbuka", "json.kaedah load "digunakan untuk membaca dan menyimpan kandungan fail dalam pemboleh ubah" data ". Data yang dimuat pada langkah sebelumnya diubah kembali menjadi string json menggunakan “json.kaedah dump ”. Menjalankan kod di atas akan menunjukkan output berikut:
'codename': 'Eoan Ermine', 'version': 'Ubuntu 19.10 '"codename": "Eoan Ermine", "version": "Ubuntu 19.10 "
Perhatikan pada output di atas bahawa "json.kaedah load "membaca data json mentah ke dalam kamus python sementara" json.kaedah dumps mengubah 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 menangani data. Contoh di atas cukup asas dan tidak termasuk tatasusunan dalam data JSON atau nilai bersarang. Walau bagaimanapun dalam python, anda boleh menangani nilai-nilai ini seperti kamus dan senarai bersarang yang lain.
Menyusun dan Mencetak Data JSON Cantik
The "json.kaedah dump ”menyokong beberapa parameter pilihan untuk mengisih kunci dan mencetak output dengan baik untuk pembacaan yang lebih baik.
import jsondengan ujian terbuka (".json ") sebagai f:
data = json.beban (f)
lambakan = json.lambakan (data, sort_keys = True, indent = 4)
cetak (lambakan)
Kod di atas akan menunjukkan output berikut:
"codename": "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 | str |
nombor | int atau terapung |
betul salah | Betul salah |
batal | Tiada |
susunan | senarai |
objek | imlak |
Json.Modul Baris Perintah alat
Python merangkumi utiliti baris perintah yang bagus "json.alat ”yang boleh digunakan untuk mengesahkan dan mencetak rentetan dan fail JSON yang cantik.
$ echo '"codename": "Eoan Ermine", "version": "Ubuntu 19.10 " '| python3 -m json.alatMenjalankan perintah di atas akan menunjukkan kepada anda output berikut:
"codename": "Eoan Ermine",
"versi": "Ubuntu 19.10 "
Anda juga boleh menggunakan json.alat dengan fail JSON. Gantikan "in_file" dan "out_file" dalam arahan di bawah dengan nilai yang anda inginkan:
$ python3 -m json.alat dalam_file keluar_fileSelain mencetak, menyusun dan mengesahkan data JSON, json.alat tidak melakukan perkara lain. Oleh itu, jika anda ingin memanipulasi data JSON, anda mesti menulis kod tersuai anda sendiri menggunakan modul JSON terbina dalam.