ホームページ バックエンド開発 Python チュートリアル Python を使用して JSON データを処理する方法

Python を使用して JSON データを処理する方法

Nov 14, 2018 pm 02:37 PM
python

Python を使用して JSON データを処理するにはどうすればよいですか?この記事では、Python を使用して JSON データを処理する基本的な方法を紹介します。一定の参考値があるので、困っている友達は参考にしていただければ幸いです。

Python を使用して JSON データを処理する基本的な方法を紹介する前に、まず JSON とは何ですか?

JSON とは「JavaScript Object Notation」の略で、「JavaScript 言語の記号をベースにしたデータ形式」と言えます。ただし、この表記は JavaScript にのみ基づいており、他のさまざまな言語でも使用できます。

JSON はデータを保存および交換する方法であり、その構文を通じて実装され、多くの Web アプリケーションで使用されます。 JSON の利点は、人間が判読できる形式であることです。これが、API を使用するときの有効性に加えて、データ転送に JSON を使用する理由の 1 つである可能性があります。

JSON では、データは名前と値のペアで表されます。オブジェクトは中括弧内に格納され、各名前の後に「:」 (コロン) が続き、名前と値のペアは (カンマ) で区切られます。角かっこで配列を囲み、値を (カンマ) で区切ります。

JSON 形式データの例:

{
 "book1":{
"title": "Python Beginners",
 "year": 2005 ,
"page": 399
},
"book2":{
 "title": "Python Developers",
 "year": 2006 ,
"page": 650
 }
}
ログイン後にコピー

Python で JSON データを処理する方法を詳しく見てみましょう。

Python を使用すると、JSON データの処理が簡単になります。これを実現するモジュールが json モジュールです。このモジュールは Python (組み込み) インストールに含まれている必要があるため、PDF や Excel ファイルの場合のように外部モジュールをインストールする必要はありません。このモジュールを使用するには、インポートするだけです (まず次のように記述します):

import json
ログイン後にコピー

しかし、JSON ライブラリは何をするのでしょうか?このライブラリは主にファイルまたは文字列から JSON を解析します。また、JSON を Python の辞書またはリストに解析したり、その逆も行います。つまり、Python の辞書またはリストを JSON 文字列に変換します。

JSON の読み取り (JSON から Python)

JSON の読み取りとは、JSON を Python 値 (オブジェクト) に変換することを意味します。上で述べたように、json ライブラリは JSON を解析して Python の辞書またはリストを作成します。このために、以下に示すように、loads() 関数 (文字列からロード) を使用します。

import json
jsonData = '{"name": "Frank", "age": 39}'
jsonToPython = json.loads(jsonData)
ログイン後にコピー

出力を確認したい場合は、 print jsonToPython を実行します。この場合、次の出力が得られます。

{'age': 39, 'name': 'Frank'}
ログイン後にコピー

つまり、データは Python 辞書 (JSON オブジェクト データ構造) として返されます。

Python から JSON

前のセクションでは JSON を Python に紹介しましたが、このセクションでは Python の値を変換する方法を示します (エンコードされます)を JSON として保存します。

Python に次の辞書があるとします。

import json
pythonDictionary = {'name':'Bob', 'age':44, 'isEmployed':True}
dictionaryToJson = json.dumps(pythonDictionary)
ログイン後にコピー

printdictionToJson を実行すると、次の JSON データが得られます。

{"age": 44, "isEmployed": true, "name": "Bob"}
ログイン後にコピー

したがって、この出力はオブジェクト (辞書) データ表現。メソッド dumps() は、このタイプの操作の鍵です。

現時点では、JSON はすべてのタイプの Python オブジェクトを保存できるわけではなく、リスト、辞書、ブール値、数値、文字列、なしのタイプのみを保存できることに注意してください。したがって、他の型は JSON に保存するために変換する必要があります。

次のクラスがあるとします:

class Employee(object):
    def __init__(self, name):
        self.name = name
ログイン後にコピー

次のように新しいオブジェクト abder を作成するとします:

abder = Employee('Abder')
ログイン後にコピー

このオブジェクトを JSON に変換する場合、何を変換するかする?それは json.dumps(abder) ですか?この場合、次のようなエラーが表示されます:

Traceback (most recent call last):
  File "test.py", line 8, in <module>
    abderJson = json.dumps(abder)
  File "/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 243, in dumps
    return _default_encoder.encode(obj)
  File "/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/encoder.py", line 207, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/encoder.py", line 270, in iterencode
    return _iterencode(o, 0)
  File "/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/encoder.py", line 184, in default
    raise TypeError(repr(o) + " is not JSON serializable")
TypeError: <__main__.Employee object at 0x10e74b750> is not JSON serializable
ログイン後にコピー

しかし、回避策はありますか?幸いなことに、それはあります。この問題を解決するには、次のようなメソッドを定義します。

def jsonDefault(object):
    return object.__dict__
ログイン後にコピー

次に、次のようにオブジェクトを JSON にエンコードします。

jsonAbder = json.dumps(abder, default=jsonDefault)
ログイン後にコピー

print jsonAbder を実行すると、次の出力が得られます。 :

{"name": "Abder"}
ログイン後にコピー

これで、Python オブジェクト (abder) が JSON にエンコードされました。

以上がPython を使用して JSON データを処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

XML形式を開く方法 XML形式を開く方法 Apr 02, 2025 pm 09:00 PM

ほとんどのテキストエディターを使用して、XMLファイルを開きます。より直感的なツリーディスプレイが必要な場合は、酸素XMLエディターやXMLSPYなどのXMLエディターを使用できます。プログラムでXMLデータを処理する場合、プログラミング言語(Pythonなど)やXMLライブラリ(XML.ETREE.ELEMENTTREEなど)を使用して解析する必要があります。

XML形式を美化する方法 XML形式を美化する方法 Apr 02, 2025 pm 09:57 PM

XMLの美化は、合理的なインデンテーション、ラインブレーク、タグ組織など、本質的に読みやすさを向上させています。原則は、XMLツリーを通過し、レベルに応じてインデントを追加し、テキストを含む空のタグとタグを処理することです。 PythonのXML.ETREE.ELEMENTTREEライブラリは、上記の美化プロセスを実装できる便利なchile_xml()関数を提供します。

XMLの変更にはプログラミングが必要ですか? XMLの変更にはプログラミングが必要ですか? Apr 02, 2025 pm 06:51 PM

XMLコンテンツを変更するには、ターゲットノードの正確な検出が必要であるため、プログラミングが必要です。プログラミング言語には、XMLを処理するための対応するライブラリがあり、APIを提供して、データベースの運用などの安全で効率的で制御可能な操作を実行します。

携帯電話用の無料のXMLからPDFツールはありますか? 携帯電話用の無料のXMLからPDFツールはありますか? Apr 02, 2025 pm 09:12 PM

モバイルには、単純で直接無料のXMLからPDFツールはありません。必要なデータ視覚化プロセスには、複雑なデータの理解とレンダリングが含まれ、市場のいわゆる「無料」ツールのほとんどは経験がありません。コンピューター側のツールを使用したり、クラウドサービスを使用したり、アプリを開発してより信頼性の高い変換効果を取得することをお勧めします。

携帯電話でXMLをPDFに変換するとき、変換速度は高速ですか? 携帯電話でXMLをPDFに変換するとき、変換速度は高速ですか? Apr 02, 2025 pm 10:09 PM

Mobile XMLからPDFへの速度は、次の要因に依存します。XML構造の複雑さです。モバイルハードウェア構成変換方法(ライブラリ、アルゴリズム)コードの品質最適化方法(効率的なライブラリ、アルゴリズムの最適化、キャッシュデータ、およびマルチスレッドの利用)。全体として、絶対的な答えはなく、特定の状況に従って最適化する必要があります。

携帯電話でXMLをPDFに変換する方法は? 携帯電話でXMLをPDFに変換する方法は? Apr 02, 2025 pm 10:18 PM

携帯電話でXMLをPDFに直接変換するのは簡単ではありませんが、クラウドサービスの助けを借りて実現できます。軽量モバイルアプリを使用してXMLファイルをアップロードし、生成されたPDFを受信し、クラウドAPIで変換することをお勧めします。クラウドAPIはサーバーレスコンピューティングサービスを使用し、適切なプラットフォームを選択することが重要です。 XMLの解析とPDF生成を処理する際には、複雑さ、エラー処理、セキュリティ、および最適化戦略を考慮する必要があります。プロセス全体では、フロントエンドアプリとバックエンドAPIが連携する必要があり、さまざまなテクノロジーをある程度理解する必要があります。

XMLをPDFに変換できるモバイルアプリはありますか? XMLをPDFに変換できるモバイルアプリはありますか? Apr 02, 2025 pm 08:54 PM

XMLをPDFに直接変換するアプリケーションは、2つの根本的に異なる形式であるため、見つかりません。 XMLはデータの保存に使用され、PDFはドキュメントを表示するために使用されます。変換を完了するには、PythonやReportLabなどのプログラミング言語とライブラリを使用して、XMLデータを解析してPDFドキュメントを生成できます。

推奨されるXMLフォーマットツール 推奨されるXMLフォーマットツール Apr 02, 2025 pm 09:03 PM

XMLフォーマットツールは、読みやすさと理解を向上させるために、ルールに従ってコードを入力できます。ツールを選択するときは、カスタマイズ機能、特別な状況の処理、パフォーマンス、使いやすさに注意してください。一般的に使用されるツールタイプには、オンラインツール、IDEプラグイン、コマンドラインツールが含まれます。

See all articles