首頁 >後端開發 >Python教學 >如何讓 Python 類別 JSON 可序列化?

如何讓 Python 類別 JSON 可序列化?

DDD
DDD原創
2024-12-19 18:09:08153瀏覽

How to Make a Python Class JSON Serializable?

如何使 Python 類別 JSON 可序列化

序列化是將物件轉換為可以儲存或傳輸的格式的過程。 JSON(JavaScript 物件表示法)是一種流行的資料格式,用於在應用程式之間傳輸資料。

要將 Python 類別序列化為 JSON,您需要實作 dict特殊方法。 dict 傳回包含物件屬性的字典。然後,您可以使用 json.dumps() 函數將字典序列化為 JSON。

例如:

class FileItem:
    def __init__(self, fname):
        self.fname = fname

要將FileItem 類別序列化為JSON,您可以將dict 特殊方法實作如下:

class FileItem:
    def __init__(self, fname):
        self.fname = fname

    def __dict__(self):
        return {'fname': self.fname}

然後可以使用json.dumps() 函數將FileItem 對象序列化為JSON:

import json

x = FileItem('/foo/bar')
json_data = json.dumps(x, default=lambda o: o.__dict__)

默認值=lambda o: o.__dict__ 參數是必需的,因為FileItem 類別不是原生JSON 可序列化。此參數告訴 json.dumps() 函數在序列化物件之前呼叫物件的 dict 方法。

產生的 JSON 資料將是:

{"fname": "/foo/bar"}

以上是如何讓 Python 類別 JSON 可序列化?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn