Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonでJSONを解析する方法

PythonでJSONを解析するにはどうすればよいですか。まず、json.load()メソッドを使用してJSONファイルをロードします。結果はPython辞書です。その後、辞書メソッドを使用してフィールドにアクセスできます。

JSONは軽量のデータ交換形式です。

JSONファイルまたはJSON応答から情報を抽出するには、データを解析する必要があります。

PythonでJSONを解析する

この例では、次のJSONを使用します。

{
   "store":{
      "book":[
         {
            "category":"reference",
            "author":"Nigel Rees",
            "title":"Sayings of the Century",
            "price":8.95
         },
         {
            "category":"fiction",
            "author":"Evelyn Waugh",
            "title":"Sword of Honour",
            "price":12.99
         }
      ],
      "bicycle":{
         "color":"red",
         "price":19.95
      }
   },
   "expensive":10
}

最初のステップは、PythonでJSONファイルをロードすることです:

import json

with open('store.json') as json_file:
    data = json.load(json_file)
print(data)

JSONファイルがdataに保存されるようになりました 変数。

printメソッドは、上記のJSONを出力するだけです。

注:上記のメソッドは、JSONをPythonディクショナリとして保存します 。これは、タイプprint(type(data))を出力することで確認できます。

JSONチュートリアル-JavaScriptでJSONを使用する方法を学ぶ

PythonでJSONを解析する方法

JSONから特定のデータを抽出する

JSONをPythonディクショナリとして使用できるようになったので、keyを表すフィールドを指定して特定のデータをフェッチできます。 辞書にあります。

たとえば、上記のJSONで自転車の価格を取得するには、次のように使用します。

print(data['store']['bicycle']['price'])

出力:

19.95

JSON配列からデータを抽出

上記のJSONの例では、「book」フィールドはJSON配列です。

インデックス表記を使用して、特定のアイテムをフェッチできます。

たとえば、2冊目の本の名前を取得するには次のように使用します。

print(data['store']['book'][1]['title'])

出力:

Sword of Honour

JSONの条件付き解析

価格が10.00以下のすべての本を入手したいとします。

次に、以下を使用します:

books = data['store']['book']
for book in books:
    if book['price'] <= 10.00:
        print(book)

出力:

{'category': 'reference', 'author': 'Nigel Rees', 'title': 'Sayings of the Century', 'price': 8.95}
結論

この投稿では、PythonでJSONを解析する方法について説明しました。ここで重要なポイントは、JSONファイルが読み込まれると、Pythonディクショナリとして保存されることです。ディクショナリを取得したら、通常のディクショナリメソッドを使用してJSONから特定の値を抽出できます。


  1. AndroidでJSONを解析する方法は?

    この例は、AndroidでJSONを解析する方法を示しています。 ステップ1 − Android Studioで新しいプロジェクトを作成し、[ファイル]⇒[新しいプロジェクト]に移動して、新しいプロジェクトを作成するために必要なすべての詳細を入力します。 ステップ2 −次のコードをres / layout/activity_main.xmlに追加します。 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="https://schemas.

  2. PythonでJSONファイルをきれいに印刷する方法

    他の多くのプログラミング言語と同様に、PythonはJavaScript Object Notation(JSON)データでうまく機能します。いくつかのソースからこのデータを取得し、他のファイルと同じように処理できます。これは、PythonでJSONファイルをきれいに印刷したい場合に役立ちます。 この投稿では、2つの方法でJSONファイルをきれいに印刷する方法を紹介します。どちらもターミナルとコマンドラインの使用を伴いますが、そのうちの1つについてはPythonの知識はまったく必要ない場合があります。 Pretty Printとは(そしてJSONファイルで使用したい理由) 要するに、きれ