Apa itu Python JSON dan Bagaimana melaksanakannya?



Artikel mengenai Python JSON ini akan membantu anda dalam mempelajari cara menghurai, membuat siri dan mendeserisasi JSON dengan bantuan program contoh.

Adakah anda tahu cara mengangkut data anda dari API dalam talian atau menyimpan pelbagai jenis data ke mesin tempatan anda? Dengan satu cara atau yang lain, anda telah melibatkan diri dengan JSON yang bermaksud Notasi Objek Skrip Java. Ini adalah format data terkenal dan popular yang digunakan untuk mewakili data separa berstruktur. Mari kita ketahui lebih lanjut mengenai Python JSON secara terperinci.

Aspek berikut akan dibincangkan dalam artikel ini:





Pengenalan JSON di Python:

JSON bermaksud J ava S cript ATAU bawak N otasiadalah cara menyimpan maklumat secara teratur dan mudah. Data mesti dalam bentuk teks ketika ditukar antara penyemak imbas dan pelayan.

Logo JSON- Python JSON-Edureka



Sekiranya anda tertanya-tanya adakah itu ? maka, jawapannya adalah tidak. Ini adalah skrip yang terdiri dari teks dan digunakan untuk menyimpan dan memindahkan data dalam format yang dapat dibaca manusia dan mesin. Ini adalah format data kecil dan ringan yang diilhami oleh JavaScript dan umumnya digunakan dalam format teks atau rentetan. Sebungkus JSON hampir sama dengan kamus python. Sekarang, anda pasti tertanya-tanya

Bagaimana membaca fail JSON di Python?

Jawapan untuk soalan anda adalah, anda harus mengimport modul JSON yang secara amnya menukar jenis data Python ke dalam fail rentetan JSON. Ia terdiri daripada fungsi JSON yang membaca dan menulis secara langsung dari fail JSON. mempunyai pakej JSON terbina dalam dan merupakan sebahagian daripada pustaka standard, jadi anda tidak perlu memasangnya.

Contoh:

import json

Sekarang anda menyedari JSON di Python, mari kita lihat Parsing dengan lebih mendalam.



Menghuraikan:

Perpustakaan JSON dapat menguraikan JSON dari tali atau fail. Ia juga dapat menguraikan JSON ke dalam atau senaraikan dan lakukan sebaliknya. Penghuraian biasanya berlaku dalam dua peringkat:

  1. Penukaran dari JSON ke Python
  2. Penukaran dari Python ke JSON

Mari kita lebih memahami kedua-dua peringkat.

Penukaran dari JSON ke Python:

Anda boleh menukar rentetan JSON ke Python dengan menggunakanjson.loads ().Izinkan saya menunjukkan kepada anda pelaksanaan praktikal:

Contoh:

import json people_string = '' '{' people ': [{' emp_name ':' John smith ',' emp_no. ':' 924367-567-23 ',' emp_email ': [' johnsmith@dummyemail.com '], 'has_license': 'false'}, {'emp_name': 'harshit kant', 'emp_number': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} ' '' cetakan data = json.loads (people_string) (data)

Pengeluaran:

Seperti yang anda lihat dari output di atas, ia telah mencetak a . Mari mencetak jenis data untuk pemahaman yang lebih baik.

Contoh:

import json people_string = '' '{' people ': [{' emp_name ':' John smith ',' emp_no. ':' 924367-567-23 ',' emp_email ': [' johnsmith@dummyemail.com '], 'has_license': 'false'}, {'emp_name': 'harshit kant', 'emp_number': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} ' '' data = json.loads (people_string) cetak (type (data)) # mencetak jenis data

Pengeluaran:



Sekarang, kerana anda sudah biasa dengan satu penukaran, mari kita lihat jenis penukaran yang lain pada peringkat kedua.

Penukaran dari Python ke JSON:

Objek Python dapat ditukar menjadi rentetan JSON dengan menggunakanjson.dumps ().Mari kita lihat contoh yang diberikan di bawah:

Contoh:

import json people_string = '' '{' people ': [{' emp_name ':' John smith ',' emp_no. ':' 924367-567-23 ',' emp_email ': [' johnsmith@dummyemail.com '], 'has_license': 'false'}, {'emp_name': 'harshit kant', 'emp_no.': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} '' 'data = json.loads (people_string) new_string = json.dumps (data) cetak (new_string)

Pengeluaran:

Keluarannya adalah jenis rentetan JSON. Saya telah menunjukkan jenis data dalam penukaran JSON ke Python, prosedur yang sama diikuti akan diikuti untuk mencetak jenis data.

label c ++ goto


Mari maju dan lihat bagaimana Pandas menguraikan JSON.

Pandas Menghurai JSON:

Rentetan JSON boleh dihuraikan menjadi a panda Kerangka data dari langkah berikut:

  • Struktur generik berikut dapat digunakan untuk memuat rentetan JSON ke dalam DataFrame.
import panda sebagai pd pd.read_json (r'Path tempat anda menyimpan fail JSONFile Name.json ')
  • Sediakan rentetan JSON.
  • Buat fail JSON yang kami gunakan adalah nobel_prize.json.
  • Muatkan fail JSON ke dalam DataFrame panda.

Kod yang dilaksanakan di bawah memuatkan fail JSON saya ke dalam DataFrame.

import panda sebagai pd import json dengan terbuka (r'C: UsersHarshit_KantDesktopnobel.prize.json ') sebagai f: data = json.load (f) print (data) df = pd.DataFrame print (df)

Pengeluaran:

Melangkah ke hadapan, mari kita lihat bagaimana anda boleh membuat siri JSON di Python.

Serialisasi JSON [Encode]:

Bersiri dengan JSON bermaksud anda mengekodkan JSON. Ia menukar struktur data Python yang diberikan (mis: diktit) menjadi objek JSON yang sah. Untuk menangani aliran data dalam fail, perpustakaan JSON di Python menggunakan a pembuangan() dan lambakan () kaedah, yang melakukan penukaran dan memudahkan untuk menulis data ke dalam fail.

Diberi di bawah adalah jadual yang menggambarkan Python jenis data bertukar menjadi jenis JSON masing-masing.

Python JSON

imlak (kamus)

objek

senarai, tatasusunan

tupel

tali

tali

int, panjang, terapung

nombor

Betul

benar

Salah

salah

Tiada

batal

Perkara yang perlu diingat:

pembuangan() - Menukar data ke fail JSON
lambakan () - Menukar data ke rentetan JSON
beban () - Menukar fail JSON menjadi objek Python
beban () - Menukar objek rentetan JSON menjadi objek Python

Percetakan cantik:

Pretty Printing mengurus penjajaran kod dan membuatnya dalam format yang dapat dibaca oleh manusia. Mari kita lihat contoh di bawah ini di mana saya telah melewati dua parameter ‘sort_keys’ yang selalu mengembalikan nilai Boolean True dan ruang ‘indent’.

Contoh:

import json people_string = '' '{' people ': [{' emp_name ':' John smith ',' emp_no. ':' 924367-567-23 ',' emp_email ': [' johnsmith@dummyemail.com '], 'has_license': 'false'}, {'emp_name': 'harshit kant', 'emp_no.': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} '' 'data = json.loads (people_string) new_string = json.dumps (data, sort_keys = True, indent = 3) cetak (new_string)

Pengeluaran:

__init__ ular sawa 3

Melangkah dalam tutorial Python JSON, marilah kita memahami deserialisasi JSON.

Deserialisasi JSON [Decode]:

Deserialization JSON adalah kebalikan dari serialisasi, ini bermaksud anda menyahkod JSON. Ia menukar rentetan JSON yang diberikan menjadi a Python objek dengan memanfaatkan beban () dan muatan () kaedah yang melakukan penukaran.

Diberikan di bawah adalah jadual yang menggambarkan penukaran jenis data JSON ke jenis Python masing-masing.

JSON Python

objek

imlak (kamus)

tupel

senarai, tatasusunan

tali

tali

nombor

int, panjang, terapung

benar

Betul

salah

Salah

batal

Tiada

Melangkah dalam tutorial 'Python JSON'. Saya akan menunjukkan kepada anda contoh masa nyata dari kedua siri dan deserialisasi melalui perspektif pengekodan.

Demonstrasi Pengekodan:

Dalam demonstrasi pengekodan ini, saya menggunakan set data JSON yang disebut 'Hadiah Nobel' yang diberikan di sini . Anda akan belajar bagaimana melakukan siri dan deserialisasi yang sama melalui fail JSON.

Contoh (Serialisasi dataset JSON):

import json dengan terbuka ('nobel_prize.json.html') sebagai f: data = json.load (f) dengan terbuka ('new_nobel_prize.json.html') sebagai f: json.dump (data, f, indent = 2)

Pengeluaran:

berjaya disusun dan fail baru 'new_nobel_prize.json' dibuat di mana data dibuang dari fail yang sudah ada 'nobel_prize.json'.

Contoh (Deserialisasi dataset JSON):

import json dengan terbuka ('nobel_prize.json.html') sebagai f: data = json.load (f) untuk nobel_prize dalam data ['hadiah']: cetak (nobel_prize ['tahun'], nobel_prize ['kategori'])

Pengeluaran:

Coretan kod menunjukkan perubahan dari fail JSON ke objek Python masing-masing.

Ini membawa kita ke akhir artikel kami 'Python JSON'. Saya harap anda jelas dengan semua konsep yang berkaitan dengan JSON, Parsing, Serialization, dan Deserialization.

Pastikan anda berlatih sebanyak mungkin dan kembalikan pengalaman anda.

Ada soalan untuk kami? Sila sebutkan di bahagian komen artikel Python JSON ini dan kami akan menghubungi anda secepat mungkin. Untuk mendapatkan pengetahuan mendalam tentang Python bersama dengan pelbagai aplikasinya, anda boleh dengan latihan dalam talian langsung kami dengan sokongan 24/7 dan akses seumur hidup.