目次
JSONにPythonオブジェクトをシリアル化します
JSONデータをPythonに戻します
複雑なデータ型の処理
最終的な考え
ホームページ バックエンド開発 Python チュートリアル PythonのJSONモジュールは、JSONデータのシリアル化と降下処理をどのように処理しますか?

PythonのJSONモジュールは、JSONデータのシリアル化と降下処理をどのように処理しますか?

Jun 08, 2025 am 12:02 AM
python json

PythonのJSONモジュールは、シリアル化と脱派化関数を提供することにより、JSONデータの処理をシンプルにします。まず、json.dumps()を使用して、辞書をjsonオブジェクトに変換するなど、pythonオブジェクトをjson文字列に変換します。次に、json.dump()を使用してjsonデータをファイルに書き込みます。第三に、json.loads()を使用して、json文字列をpythonオブジェクトに解析します。第4に、json.load()を使用して、ファイルからJSONデータを読み取り、解析します。最後に、複雑なタイプの場合、デフォルトのパラメーターを介してカスタムシリアル化とObject_hookパラメーターを介してカスタムスターリア化をカスタムできます。このモジュールは基本的なタイプをサポートしていますが、カスタムタイプの手動処理が必要です。

Python \ 'のJSONモジュールは、JSONデータのシリアル化と脱介入をどのように処理しますか?

Pythonのjsonモジュールは、JSONデータを使用するための簡単な方法を提供し、PythonオブジェクトとJSON文字列間を変換できます。これは、シリアル化(PythonからJSON)とDaserialization(JSON to Python)の両方を処理する方法です。


JSONにPythonオブジェクトをシリアル化します

シリアル化とは、辞書やリストなどのPythonデータ構造をJSON形式の文字列に変換するプロセスです。

これの主な機能は次のとおりです。

  • json.dumps() - PythonオブジェクトをJSON文字列に変換します。
  • json.dump() - jsonデータをファイルのようなオブジェクトに直接書き込みます。

例えば:

 JSONをインポートします

data = {
    「名前」:「アリス」、
    「年齢」:30、
    「is_student」:false
}

json_string = json.dumps(data)

これにより'{"name": "Alice", "age": 30, "is_student": false}'のような文字列が生成されます。

いくつかの一般的なメモ:

  • python dict sはJSONオブジェクトになります。
  • Python list sはJSONアレイになります。
  • Python NoneTrue 、およびFalse JSONでそれぞれnulltruefalseなります。

ファイルに書いている場合は、 json.dump()を使用してください。

 f:open( "data.json"、 "w")として:
    json.dump(data、f)

JSONデータをPythonに戻します

脱介入は逆です - JSON文字列またはファイルをPythonオブジェクトに戻します。

ここの重要な関数は次のとおりです。

  • json.loads() - JSON文字列をPythonオブジェクトに解析します。
  • json.load() - ファイルのようなオブジェクトから読み取り、内部のJSONデータを解析します。

json.loads()を使用した例:

 json_data = '{"name": "bob"、 "age":25}'
python_dict = json.loads(json_data)

python_dict通常のPython辞書です: {'name': 'Bob', 'age': 25}

そして、JSONがファイルに保存されている場合:

 fをopen( "data.json"、 "r")としてf:
    loaded_data = json.load(f)

JSONが有効であると仮定して、元のPython構造を取り戻すことができます。


複雑なデータ型の処理

デフォルトでは、 jsonモジュールは、 dictliststrintfloatboolなどの基本タイプのみNoneサポートしています。カスタムオブジェクトやDateTimeなど、他の何かをシリアル化しようとすると、 TypeErrorが表示されます。

カスタムタイプを処理するには:

  • json.dumps()defaultパラメーターを使用して、サポートされていない型の変換方法を定義します。
  • 脱isizationの場合は、 json.loads()またはjson.load()object_hookパラメーターを使用して、jsonオブジェクトをPythonオブジェクトに戻す方法をカスタマイズします。

たとえば、 datetimeオブジェクトをシリアル化するには:

 DateTime Import DateTimeから
JSONをインポートします

def default_serializer(obj):
    ISINSTANCE(OBJ、DateTime):
        obj.isoformatを返す()
    Raise TypeError( "タイプシリアル化できない")

json.dumps({"now":datetime.now()}、default = default_serializer)

これは'{"now": "2024-11-05T12:34:56.789"}'のような文字列を返します。

脱isialization側では、 object_hookを使用して、ISOの日付文字列をdatetimeオブジェクトに解析できます。


最終的な考え

PythonでJSONと連携することは、組み込みのjsonモジュールのおかげでかなりスムーズです。ほとんどの一般的なデータ型を箱から出して処理し、必要に応じて動作を拡張するツールを提供します。

覚えておいてください:

  • 文字列にはdumps / loadsを使用し、ファイルにdump / load使用します。
  • あなたがシリアル化するタイプを追跡してください - カスタムタイプには特別な取り扱いが必要です。
  • JSONキーは常に文字列ですので、そこに他のタイプを期待しないでください。

基本的にそれだけです。

以上がPythonのJSONモジュールは、JSONデータのシリアル化と降下処理をどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Stock Market GPT

Stock Market GPT

AIを活用した投資調査により賢明な意思決定を実現

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

ホットトピック

PytestでPythonコードをテストする方法 PytestでPythonコードをテストする方法 Sep 20, 2025 am 12:35 AM

Pythonは、Pythonのシンプルで強力なテストツールです。インストール後、命名ルールに従ってテストファイルが自動的に発見されます。アサーションテストのためにtest_から始まる関数を書き込み、 @pytest.fixtureを使用して再利用可能なテストデータを作成し、pytest.raisesを使用して例外を確認し、指定されたテストと複数のコマンドラインオプションをサポートし、テスト効率を改善します。

Pythonのコマンドライン引数を処理する方法 Pythonのコマンドライン引数を処理する方法 Sep 21, 2025 am 03:49 AM

theargparsemoduleisttherecommendedwayto handlecommand-lineargumentsinpython、robustparsing、typevalidation、helpmessages、およびerrorhandling; ousesys.argvforsimplecasesrequiringminimalsetup。

bipとは何ですか?なぜ彼らはビットコインの未来にとってそれほど重要なのですか? bipとは何ですか?なぜ彼らはビットコインの未来にとってそれほど重要なのですか? Sep 24, 2025 pm 01:51 PM

目次ビットコイン改善提案(BIP)とは何ですか?なぜBIPがそんなに重要なのですか?歴史的なBIPプロセスは、ビットコイン改善提案(BIP)でどのように機能しますか? BIPタイプの信号とは何ですか?鉱夫はそれをどのように送りますか? TaprootとBIP結論のクイックトライアルの短所は、2011年以来、ビットコイン改善提案または「BIP」と呼ばれるシステムを通じて行われています。ビットコイン改善提案(BIP)は、ビットコインが一般的に開発する方法のガイドラインを提供します。BIPには3つのタイプがあります。そのうち2つはビットコインの技術的変化に関連しています各BIPは、TWIを含むどこにでも集まるビットコイン開発者の間で非公式の議論から始まります。

Pythonの@ContextManagerデコレーターを使用してコンテキストマネージャーを作成するにはどうすればよいですか? Pythonの@ContextManagerデコレーターを使用してコンテキストマネージャーを作成するにはどうすればよいですか? Sep 20, 2025 am 04:50 AM

@ContextManagerFromContextLibandDefineAgeneratoratoraturationは、sexactlyOnceを使用します

Pythonで毎日のタスク用の自動化スクリプトの書き方 Pythonで毎日のタスク用の自動化スクリプトの書き方 Sep 21, 2025 am 04:45 AM

repetitivetaskswsortomating、sosorganizingfilessorsendingningtumails、focusingonthosethatoccurfrequellyandtakesifatipime.2.useapsupratepythonlibrarieslikes、shotil、glob、smtplib、requests、beautifulsoup、anseleniumforferation、email、w

Pythonを使用してシンプルなWebサーバーを作成する方法 Pythonを使用してシンプルなWebサーバーを作成する方法 Sep 21, 2025 am 01:27 AM

Pythonには独自のHTTPサーバーが付属しており、ローカルサービスをすばやく構築できます。 Python-mhttp.server8000コマンドを使用して、指定されたポートでファイル共有サービスを開始し、ブラウザはhttp:// localhost:8000にアクセスしてディレクトリの内容を表示します。カスタム応答が必要な場合は、BaseHTTPRequestHandlerを介して処理ロジックを記述し、スクリプトを実行した後に簡単なWebサービスを実装できます。テストと開発に適していますが、生産環境にはお勧めしません。

PHPでJSONオブジェクトを作成する方法は? PHPでJSONオブジェクトを作成する方法は? Sep 22, 2025 am 04:13 AM

json_encode()関数を使用して、PHPアレイまたはオブジェクトをJSON文字列に変換します。たとえば、連想配列["name" => "john"、 "age" => 30、 "city" => "newyork"] outputs {"name": "john"、 "age":30、 "city": "newyork&

JSON文字列をJavaScriptオブジェクトに解析する方法 JSON文字列をJavaScriptオブジェクトに解析する方法 Sep 21, 2025 am 05:43 AM

JSON文字列をJavaScriptオブジェクトに解析するには、有効なJSON文字列を対応するJavaScriptオブジェクトに変換できるjson.parse()メソッドを使用する必要があります。したがって、例外を処理するためにtry ... catchを使用する必要があります。同時に、日付文字列を日付オブジェクトに変換するなど、2番目のパラメーターのリバイバー関数を介して解析中に値を変換し、それにより安全で信頼性の高いデータ変換を実現できます。

See all articles