Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mensiri dan menyahsiri objek menggunakan jeruk dan JSON dalam Python

Bagaimana untuk mensiri dan menyahsiri objek menggunakan jeruk dan JSON dalam Python

WBOY
WBOYasal
2023-10-16 09:22:501772semak imbas

Bagaimana untuk mensiri dan menyahsiri objek menggunakan jeruk dan JSON dalam Python

Cara menggunakan pickle dan JSON dalam Python untuk pensirilan objek dan penyahserilan

Python ialah bahasa pengaturcaraan yang ringkas tetapi berkuasa yang disertakan dengan banyak perpustakaan dan modul berguna terbina dalam, membolehkan pembangun melaksanakan pelbagai tugas dengan pantas . Antaranya, jeruk dan JSON ialah dua modul yang biasa digunakan untuk pensirilan objek dan penyahserikatan. Artikel ini akan memperkenalkan cara menggunakan kedua-dua modul ini untuk mensiri dan menyahsiri objek, dan memberikan contoh kod terperinci. .

    Pertama, kita perlu mengimport modul pickle:
  1. import pickle
  2. Seterusnya, kita boleh menggunakan fungsi dumps modul pickle untuk mensirikan objek ke dalam data binari:
data = {'name':'Tom', 'age': 25, 'city': 'New York'}
serialized_data = pickle.dumps(data)

Selepas menggunakan fungsi dumps, pembolehubah serialized_data akan menyimpan data binari bersiri . Sebaliknya, kita boleh menggunakan fungsi beban untuk memulihkan data binari kepada objek asal:

deserialized_data = pickle.loads(serialized_data)
print(deserialized_data)

Pada masa ini, pembolehubah deserialized_data akan menyimpan objek asal yang dipulihkan.

Berikut ialah contoh lengkap yang menunjukkan cara untuk mensiri dan menyahsiri objek Person tersuai:

import pickle

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

# 序列化对象
person = Person('Tom', 25)
serialized_person = pickle.dumps(person)

# 反序列化对象
deserialized_person = pickle.loads(serialized_person)
print(deserialized_person.name)
print(deserialized_person.age)

Menggunakan JSON untuk pensirilan objek dan penyahsiran

JSON ialah format pertukaran data Tahap yang ringan, mudah dibaca dan ditulis. Python menyediakan modul json, yang boleh mensiri dan menyahsiri objek JSON dengan mudah.

    Pertama, kita perlu mengimport modul json:
  1. import json
  2. Seterusnya, kita boleh menggunakan fungsi dumps modul json untuk mensirikan objek ke dalam rentetan JSON:
data = {'name':'Tom', 'age': 25, 'city': 'New York'}
serialized_data = json.dumps(data)

Selepas menggunakan fungsi dumps, pembolehubah serialized_data akan disimpan rentetan JSON bersiri. Sebaliknya, kita boleh menggunakan fungsi beban untuk memulihkan rentetan JSON kepada objek asal:

deserialized_data = json.loads(serialized_data)
print(deserialized_data)

Pada masa ini, pembolehubah deserialized_data akan menyimpan objek asal yang dipulihkan.

Begitu juga, berikut ialah contoh lengkap yang menunjukkan cara mensiri dan menyahsiri objek Orang tersuai:

import json

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

# 序列化对象
person = Person('Tom', 25)
serialized_person = json.dumps(person.__dict__)

# 反序列化对象
deserialized_person = json.loads(serialized_person)
print(deserialized_person['name'])
print(deserialized_person['age'])

Ringkasan:

Dengan modul jeruk dan JSON, kami boleh melakukan pensirilan dan penyahserilan objek dengan mudah. Gunakan acar untuk menukar objek kepada data binari, yang boleh digunakan untuk penyimpanan fail dan penghantaran rangkaian dan JSON, sebagai format pertukaran data universal, boleh menukar data dengan bahasa lain dengan mudah; Mengikut senario dan keperluan penggunaan khusus, kita boleh memilih modul yang sesuai untuk melaksanakan operasi bersiri dan penyahserikan objek.

Atas ialah kandungan terperinci Bagaimana untuk mensiri dan menyahsiri objek menggunakan jeruk dan JSON dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn