ホームページ >バックエンド開発 >Python チュートリアル >Python 2.x で json モジュールを使用して JSON 文字列を Python オブジェクトに変換する方法

Python 2.x で json モジュールを使用して JSON 文字列を Python オブジェクトに変換する方法

王林
王林オリジナル
2023-07-29 20:40:551209ブラウズ

Python 2.x で json モジュールを使用して JSON 文字列を Python オブジェクトに変換する方法

JSON (JavaScript Object Notation) は、アプリケーション プログラムからデータを転送するためによく使用される軽量のデータ交換形式です。別のアプリケーション。 Python では、json モジュールを使用して JSON データを処理できます。この記事では、json モジュールを使用して JSON 文字列を Python オブジェクトに変換する方法を説明します。

まず、json モジュールをインポートする必要があります:

import json

次に、次の JSON 文字列があると仮定します:

json_str = '{"name": "Alice", "age": 25, "city": "New York"}'

次に、この JSON 文字列を変換します。 Python オブジェクト。これを実現するには、json モジュールのloads() 関数を使用します。

python_obj = json.loads(json_str)

この方法で、json_str のデータが Python 辞書オブジェクトに変換されます。辞書キーにアクセスすることで、対応する値を取得できます。

print(python_obj["name"])  # 输出:Alice
print(python_obj["age"])  # 输出:25
print(python_obj["city"])  # 输出:New York

JSON 文字列を辞書オブジェクトに変換することに加えて、json モジュールは、JSON 文字列をリストや文字列などの他の Python オブジェクトに変換することもできます。 。

JSON 文字列がリストを表す場合は、json モジュールのloads() 関数を使用して、それを Python リスト オブジェクトに変換できます。例:

json_str = '[1, 2, 3, 4, 5]'
python_obj = json.loads(json_str)
print(python_obj)  # 输出:[1, 2, 3, 4, 5]

JSON 文字列が文字列を表す場合、json モジュールのloads() 関数を使用して、それを Python 文字列オブジェクトに変換できます。例:

json_str = '"Hello, World!"'
python_obj = json.loads(json_str)
print(python_obj)  # 输出:Hello, World!

JSON 文字列内のキーと文字列の両方を二重引用符で囲む必要があることに注意してください。一重引用符で囲んだ場合、JSONDecodeError 例外が発生します。

さらに、JSON 文字列に浮動小数点数、ブール値、その他の型が含まれている場合、json モジュールはそれらを対応する Python オブジェクトに自動的に変換します。例:

json_str = '{"price": 9.99, "is_available": true}'
python_obj = json.loads(json_str)
print(python_obj["price"])  # 输出:9.99
print(python_obj["is_available"])  # 输出:True

もちろん、JSON 文字列をカスタム Python クラス オブジェクトに変換することもできます。 JSON 文字列に対応するクラスを定義し、そのクラスに from_json() メソッドを実装してオブジェクトを構築するだけです。以下は例です:

class Person(object):
    def __init__(self, name, age, city):
        self.name = name
        self.age = age
        self.city = city
    
    @classmethod
    def from_json(cls, json_str):
        python_obj = json.loads(json_str)
        return cls(python_obj["name"], python_obj["age"], python_obj["city"])
    
    def __repr__(self):
        return "Person(name={}, age={}, city={})".format(self.name, self.age, self.city)

json_str = '{"name": "Bob", "age": 30, "city": "London"}'
person = Person.from_json(json_str)
print(person)  # 输出:Person(name=Bob, age=30, city=London)

from_json() メソッドを実装することにより、JSON 文字列を Python オブジェクトに変換するロジックをカスタマイズできます。

上記は、Python 2.x で json モジュールを使用して JSON 文字列を Python オブジェクトに変換する方法です。このようにして、JSON データを簡単に抽出して処理して、より幅広いアプリケーション シナリオに適応させることができます。

以上がPython 2.x で json モジュールを使用して JSON 文字列を Python オブジェクトに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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