Deserialize là gì

Tôi đã thấy các thuật ngữ "deserialize" và "serialization" với JSON. Có ý nghĩa gì?

JSON là một định dạng mã hóa các đối tượng trong một chuỗi. Tuần tự hóa có nghĩa là chuyển đổi một đối tượng thành chuỗi đókhử lưu huỳnh là hoạt động nghịch đảo của nó [chuyển đổi chuỗi -> đối tượng] .

Khi truyền dữ liệu hoặc lưu trữ chúng trong một tệp, dữ liệu được yêu cầu là các chuỗi byte, nhưng các đối tượng phức tạp hiếm khi ở định dạng này. Tuần tự hóa có thể chuyển đổi các đối tượng phức tạp này thành chuỗi byte để sử dụng như vậy. Sau khi các chuỗi byte được truyền đi, người nhận sẽ phải khôi phục đối tượng ban đầu từ chuỗi byte. Điều này được gọi là khử lưu huỳnh.

Nói rằng, bạn có một đối tượng: {foo: [1, 4, 7, 10], bar: "baz"}

tuần tự hóa thành JSON sẽ chuyển đổi nó thành một chuỗi: '{"foo":[1,4,7,10],"bar":"baz"}'

có thể được lưu trữ hoặc gửi qua dây đến bất cứ nơi nào. Sau đó, người nhận có thể giải tuần tự chuỗi này để lấy lại đối tượng ban đầu. {foo: [1, 4, 7, 10], bar: "baz"}.

Trong ngữ cảnh lưu trữ dữ liệu, tuần tự hóa [hoặc tuần tự hóa] là quá trình dịch cấu trúc dữ liệu hoặc trạng thái đối tượng sang định dạng có thể được lưu trữ [ví dụ: trong tệp hoặc bộ nhớ đệm] hoặc được truyền [ví dụ: qua kết nối mạng liên kết] và xây dựng lại sau. [...]
 Các hoạt động ngược lại, giải nén một cấu trúc dữ liệu từ một loạt các byte, là deserialization . Từ Wikipedia

Trong Python "tuần tự hóa" không có gì khác ngoài việc chuyển đổi cấu trúc dữ liệu đã cho [ví dụ a dict] thành mặt dây chuyền JSON hợp lệ của nó [đối tượng].

  • Python Truesẽ được chuyển đổi thành JSON truevà từ điển sẽ được gói gọn trong dấu ngoặc kép.
  • Bạn có thể dễ dàng nhận ra sự khác biệt giữa từ điển Python và JSON bằng các giá trị Boolean của chúng:
  • Con trăn : True/ False,
  • JSON : true/false
  • Mô-đun dựng sẵn của Python jsonlà cách tiêu chuẩn để thực hiện tuần tự hóa:

Mã ví dụ: data = {    "president": {        "name": "Zaphod Beeblebrox",        "species": "Betelgeusian",        "male": True,    }} import json json_data = json.dumps[data, indent=2] # serializerestored_data = json.loads[json_data] # deserialize # serialized json_data now looks like:# {#   "president": {#     "name": "Zaphod Beeblebrox",#     "species": "Betelgeusian",#     "male": true#   }# }

Nguồn: realpython.com

Giải thích về serialize và Deserialize bằng Python

Trong python, mô-đun dưa được sử dụng để tuần tự hóa. Vì vậy, quá trình tuần tự hóa được gọi là tẩy trong Python. Mô-đun này có sẵn trong thư viện tiêu chuẩn Python .

Tuần tự hóa bằng cách sử dụng dưa chua import pickle #the object to serializeexample_dic={1:"6",2:"2",3:"f"} #where the bytes after serializing end up at, wb stands for write bytepickle_out=open["dict.pickle","wb"]#Time to dumppickle.dump[example_dic,pickle_out]#whatever you open, you must closepickle_out.close[]

Tệp PICKLE [có thể được mở bằng trình soạn thảo văn bản như notepad] chứa tệp này [dữ liệu được tuần tự hóa]:

} q [KX 6qKX 2qKX fqu.

Khử muối bằng dưa chua import pickle pickle_in=open["dict.pickle","rb"]get_deserialized_data_back=pickle.load[pickle_in] print[get_deserialized_data_back]

Đầu ra:

{1: '6', 2: '2', 3: 'f'}

Video liên quan

Chủ Đề