ホームページ ウェブフロントエンド jsチュートリアル Python と JavaScript の間で JSON の日時オブジェクトをシリアル化および逆シリアル化する方法

Python と JavaScript の間で JSON の日時オブジェクトをシリアル化および逆シリアル化する方法

Oct 19, 2024 pm 05:28 PM

How to Serialize and Deserialize Datetime Objects in JSON Between Python and JavaScript

Python と JavaScript 間での JSON の日時オブジェクトの処理

Python と JavaScript の間でデータを交換するとき、日時オブジェクトが発生するのが一般的です。これらのオブジェクトのシリアル化とシリアル化解除をシームレスに行うために、さまざまなアプローチを採用できます。

推奨される方法の 1 つは、Python の json.dumps の「default」パラメータを利用して日時オブジェクトを処理することです。このパラメーターを使用すると、日時オブジェクトをシリアル化可能な形式に変換するハンドラー関数の仕様が有効になります。

<code class="python">from datetime import datetime

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

このアプローチにより、Python 日時オブジェクトは、JavaScript によって標準化され認識される ISO 8601 形式に変換されます。

"2010-04-20T20:08:21.634121"
ログイン後にコピー

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

<code class="python">def handler(obj):
    if hasattr(obj, 'isoformat'):
        return obj.isoformat()
    elif isinstance(obj, ...):
        return ...
    else:
        raise TypeError, 'Object of type %s with value of %s is not JSON serializable' % (type(obj), repr(obj))</code>
ログイン後にコピー

この関数は、「isoformat」属性の存在をチェックします。 datetime オブジェクトで一般的なものであり、シリアル化可能な形式に変換します。さらに、必要に応じて他のオブジェクト タイプも処理します。

これらの手法を活用することで、日時オブジェクトを Python から効率的にシリアル化し、JavaScript で逆シリアル化することができ、2 つの言語間のスムーズなデータ交換が容易になります。

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

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JavaScriptの文字列文字を交換します JavaScriptの文字列文字を交換します Mar 11, 2025 am 12:07 AM

JavaScriptの文字列文字を交換します

カスタムGoogle検索APIセットアップチュートリアル カスタムGoogle検索APIセットアップチュートリアル Mar 04, 2025 am 01:06 AM

カスタムGoogle検索APIセットアップチュートリアル

例JSONファイルの例 例JSONファイルの例 Mar 03, 2025 am 12:35 AM

例JSONファイルの例

8見事なjQueryページレイアウトプラグイン 8見事なjQueryページレイアウトプラグイン Mar 06, 2025 am 12:48 AM

8見事なjQueryページレイアウトプラグイン

10 jQuery構文蛍光物 10 jQuery構文蛍光物 Mar 02, 2025 am 12:32 AM

10 jQuery構文蛍光物

独自のAjax Webアプリケーションを構築します 独自のAjax Webアプリケーションを構築します Mar 09, 2025 am 12:11 AM

独自のAjax Webアプリケーションを構築します

&#x27; this&#x27; JavaScriptで? &#x27; this&#x27; JavaScriptで? Mar 04, 2025 am 01:15 AM

&#x27; this&#x27; JavaScriptで?

10 JavaScript&JQuery MVCチュートリアル 10 JavaScript&JQuery MVCチュートリアル Mar 02, 2025 am 01:16 AM

10 JavaScript&JQuery MVCチュートリアル

See all articles