ホームページ >バックエンド開発 >Python チュートリアル >Python クラス JSON をシリアル化可能にする方法

Python クラス JSON をシリアル化可能にする方法

DDD
DDDオリジナル
2024-12-19 18:09:08207ブラウズ

How to Make a Python Class JSON Serializable?

Python クラス JSON をシリアル化可能にする方法

シリアル化とは、オブジェクトを保存または送信できる形式に変換するプロセスです。 JSON (JavaScript Object Notation) は、アプリケーション間でデータを送信するために使用される一般的なデータ形式です。

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 シリアル化可能ではありません。この引数は、オブジェクトをシリアル化する前にオブジェクトの dict メソッドを呼び出すように json.dumps() 関数に指示します。

結果の JSON データは次のようになります。

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

以上がPython クラス JSON をシリアル化可能にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。