Python

Cara Membaca dan Menulis Fail Json di Python

Cara Membaca dan Menulis Fail Json di Python
Artikel ini akan menerangkan cara menangani fail dan data JSON dalam bahasa pengaturcaraan Python. Python dilengkapi dengan modul "json" bawaan 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 "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 json
dengan 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 json
dengan 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.alat

Menjalankan 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_file

Selain 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.

WinMouse membolehkan anda menyesuaikan & meningkatkan pergerakan penunjuk tetikus pada PC Windows
Sekiranya anda ingin meningkatkan fungsi lalai penunjuk tetikus anda gunakan perisian percuma WinMouse. Ia menambah lebih banyak ciri untuk membantu a...
Butang klik kiri tetikus tidak berfungsi pada Windows 10
Sekiranya anda menggunakan tetikus khusus dengan komputer riba, atau komputer desktop anda tetapi butang klik kiri tetikus tidak berfungsi pada Window...
Kursor melompat atau bergerak secara rawak semasa menaip di Windows 10
Sekiranya anda mendapati kursor tetikus anda melompat atau bergerak sendiri, secara automatik, secara rawak semasa menaip komputer riba atau komputer ...