ホームページ  >  記事  >  バックエンド開発  >  JavaScript の逆シリアル化のために Python 日時オブジェクトを JSON にシリアル化する方法

JavaScript の逆シリアル化のために Python 日時オブジェクトを JSON にシリアル化する方法

DDD
DDDオリジナル
2024-10-20 19:14:02827ブラウズ

How to Serialize Python Datetime Objects into JSON for JavaScript De-Serialization?

JavaScript アプリケーション用に Python 日時オブジェクトを JSON にシリアル化する

JSON を使用して Python アプリケーションと JavaScript アプリケーション間で通信する場合、日時オブジェクトの処理が困難になることがあります。この記事では、JavaScript でシームレスな逆シリアル化を実現するために、Python の日時オブジェクトを JSON にシリアル化するための最適なアプローチについて説明します。

JSON の日時オブジェクトを効果的に処理するには、json.dumps() の 'default' パラメーターを利用できます。カスタム日付ハンドラー関数を提供して、シリアル化プロセス中に日時オブジェクトを処理できます。

<code class="python">import datetime

# Create a date handler
date_handler = lambda obj: (
    obj.isoformat()
    if isinstance(obj, (datetime.datetime, datetime.date))
    else None
)

# Serialize a datetime object
json_string = json.dumps(datetime.datetime.now(), default=date_handler)

print(json_string)  # Output: '"2023-02-13T18:38:48.942613"'</code>

シリアル化プロセスでは、日時オブジェクトが ISO 8601 表現に変換されます。ISO 8601 表現は、JavaScript アプリケーションで広くサポートされている文字列表現です。

さまざまなオブジェクト タイプを処理するために、より包括的なデフォルト ハンドラー関数を定義できます。

<code class="python">def handler(obj):
    if hasattr(obj, 'isoformat'):
        return obj.isoformat()  # Handle datetime objects
    elif isinstance(obj, ...):
        ...                          # Handle other custom object types
    else:
        raise TypeError(f'Object of type {type(obj)} with value {repr(obj)} is not JSON serializable')</code>

この強化されたハンドラーにより、シリアル化中にさまざまなオブジェクト タイプを処理する際の柔軟性がさらに高まります。

以上がJavaScript の逆シリアル化のために Python 日時オブジェクトを JSON にシリアル化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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