HOWTO · Python

Python でオブジェクトの JSON 配列を解析する

このチュートリアルでは、Python でオブジェクトの JSON 配列を解析する方法を示します。

このページの内容

ブラウザーは JSON オブジェクトを迅速に解析できるため、クライアントとサーバー間のデータ転送に役立ちます。 この記事では、Python の JSON モジュールを使用して JSON データを送受信する方法について説明します。

JavaScript オブジェクト記法

JSON (JavaScript Object Notation) は、人間による読み取りと書き込みが簡単で、コンピューターによる解析と生成が簡単で、データの保存も簡単なデータ交換の構文です。

これは、言語に偏りのないフルテキスト形式です。 さらに、Python には json という名前のライブラリが含まれており、これを使用して JSON データを操作できます。

JSON の構文は、JavaScript の構文の一部と見なされます。これには、name と value も含まれます。データの表現では、name の前にコロン (:) があり、name: value のペアが分割されているためです。 コンマで。

オブジェクトは中かっこで囲まれていますが、配列要素は角かっこで囲まれており、コンマで各値が区切られています。 Python では、JSON の解析を開始する前に、JSON を処理する必要があります。

最初に設定しなければならないことがいくつかあります。 これらの演習のコードを含む Python ファイルを最初に作成します。 次に、JSON モジュールをファイル内にインポートします。

Python の JSON オブジェクト

ブラウザーは JSON オブジェクトを迅速に解析できるため、クライアントとサーバー間のデータ転送に役立ちます。 文字列、整数 (floats または int)、ブール値、リスト、null、またはその他の JSON オブジェクトはすべて、JSON オブジェクト キーの許容値です。

以下の例では、オブジェクト json_string が作成され、辞書によって入力されます。オブジェクト内のデータは、json.load() メソッドを使用して解析され、出力に表示されるデータが出力されます。

コード例:

import json

json_string = """
{
    "Student": {
        "ID" : "3",
        "name": "kelvin",
        "Group": "A",
        "Program" : "BSSE"
    }
}
"""
data = json.loads(json_string)
print(data)

出力:

{'Student': {'ID': '3', 'name': 'kelvin', 'Group': 'A', 'Program': 'BSSE'}}

Python でオブジェクトの JSON 配列を解析する

JSON 配列の構造は、Python の括弧付きリストの構造と同じです。 ネストされた配列と、JSON オブジェクトのフィールド値と同じデータ型を含めることができます。 組み込みパッケージ json の json.loads() 関数を使用して、JSON 文字列を Python オブジェクトに変換します。

JSON データ文字列は json.loads() 関数によって解析され、JSON からのすべてのデータを含む Python 辞書が提供されます。 名前またはインデックスを使用してオブジェクトを参照することにより、この Python ディクショナリから解析済みデータを取得できます。

ネストされた JSON アイテムの辞書を調べることもできます。 関連するメソッド json.load() を使用して、JSON ファイルを解析します (s なし)。 以下の例では、配列内の値を解析するために json.loads を使用しています。

コード例:

import json

json_string = """
{
    "Student": {
        "ID" : "3",
        "name": "kelvin",
        "Group": "A",
        "Program" : "BSSE",

        "cars": [
            {"model": "BMW 330e", "mpg": 143},
            {"model": "Rolls-Royce Phantom EWB", "mpg": 18}
        ]
    }
}
"""
data = json.loads(json_string)
print(data)

出力:

{'Student': {'ID': '3', 'name': 'kelvin', 'Group': 'A', 'Program': 'BSSE', 'cars': [{'model': 'BMW 330e', 'mpg': 143}, {'model': 'Rolls-Royce Phantom EWB', 'mpg': 18}]}}

この例では、JSON デコーダーを介して JSON 配列を Python 配列データ型に変換します。 Python オブジェクトでそのインデックスを使用すると、JSON 配列から要素を取得できます。

コード例:

import json

json_str = (
    """
{
  "Orders": [
    {"Id": 151},
    {"Id": 120},
    {"Id": 131},
    {"Id": 114}
  ]
}
"""
    ""
)
data = json.loads(json_str)

order_1_id = data["Orders"][0]["Id"]
order_2_id = data["Orders"][1]["Id"]
order_3_id = data["Orders"][0]["Id"]
order_4_id = data["Orders"][1]["Id"]
total = len(data["Orders"])

print(f"Order #1: {order_1_id}, Order #2: {order_2_id}, Total Orders: {total}")

出力:

Order #1: 151, Order #2: 120, Total Orders: 4