ホームページ >バックエンド開発 >Python チュートリアル >JSON を使用して Python と JavaScript の間で日時オブジェクトを交換する方法
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 サイトの他の関連記事を参照してください。