JSON を使用して Python と JavaScript の間で日時オブジェクトを交換する方法

Barbara Streisand
リリース: 2024-10-20 19:17:02
オリジナル
516 人が閲覧しました

How to Exchange Datetime Objects Between Python and JavaScript Using JSON?

Python と JavaScript 間の JSON datetime

JSON を使用して Python と JavaScript の間で datetime オブジェクトを交換することは、それぞれの日付と値が異なるため、困難になる可能性があります。時間形式。これに対処するために、カスタムの JSON シリアル化ハンドラーと逆シリアル化ハンドラーを実装できます。

Python では、json.dumps 関数のデフォルト パラメーターを使用してシリアル化ハンドラー関数を定義できます。このハンドラーは、シリアル化中に日時オブジェクトが検出されるたびに呼び出されます。次のコード スニペットは、日時オブジェクトを ISO 8601 形式に変換するハンドラーを作成する方法を示しています:

<code class="python">date_handler = lambda obj: (
    obj.isoformat()
    if isinstance(obj, (datetime.datetime, datetime.date))
    else None
)
json.dumps(datetime.datetime.now(), default=date_handler)</code>
ログイン後にコピー

これにより、日時オブジェクトが ISO 8601 形式の文字列として出力されます:

<code class="json">"2010-04-20T20:08:21.634121"</code>
ログイン後にコピー

JavaScript では、カスタム逆シリアル化ハンドラーを使用して、受信した ISO 8601 文字列を datetime オブジェクトに変換できます。包括的な逆シリアル化ハンドラー関数は次のようになります。

<code class="javascript">function handler(obj) {
    if (typeof obj === 'string') {
        if (/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/.test(obj)) {
            // ISO 8601 Date string
            return new Date(obj);
        }
    }

    return obj;
}</code>
ログイン後にコピー

これらのカスタム ハンドラーを使用すると、JSON を使用して Python と JavaScript の間で日時オブジェクトをシームレスに交換でき、2 つのプラットフォーム間の互換性が確保されます。

以上がJSON を使用して Python と JavaScript の間で日時オブジェクトを交換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!