ホームページ >バックエンド開発 >Python チュートリアル >Python で「datetime.datetime not JSON シリアル化可能」エラーを処理するにはどうすればよいですか?

Python で「datetime.datetime not JSON シリアル化可能」エラーを処理するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-08 17:25:111051ブラウズ

How Can I Handle

Datetime オブジェクトの JSON シリアル化

datetime オブジェクトを含む辞書を jsonify しようとしているときに「datetime.datetime not JSON Serializable」エラーが発生すると、 Python の datetime 型の JSON シリアル化制限に対処する必要があります。この問題に効果的に対処するために、次の解決策が提案されています。

カスタマイズ可能な JSON シリアル化アプローチにより、日時などのシリアル化不可能なオブジェクトを JSON 互換形式に変換できます。 json.dumps() のデフォルト パラメーターを利用することで、日時オブジェクトの変換を処理する関数を定義できます。

たとえば、日時オブジェクトを文字列に変換する単純なデフォルト関数は、次のように実装できます。

def convert_datetime(o):
    if isinstance(o, datetime):
        return str(o)
    return o

この関数をデフォルトの引数として json.dumps() に渡すことで、日時オブジェクトが文字列に変換され、シリアル化されることを保証できます。成功しました:

json.dumps(sample, indent=4, sort_keys=True, default=convert_datetime)

このアプローチは、日時オブジェクトを含む複雑なデータ構造を JSON 形式にシリアル化するための柔軟でカスタマイズ可能なソリューションを提供します。

以上がPython で「datetime.datetime not JSON シリアル化可能」エラーを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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