首頁 >後端開發 >Python教學 >Python 2.x 中如何使用json模組將JSON字串轉換為Python對象

Python 2.x 中如何使用json模組將JSON字串轉換為Python對象

王林
王林原創
2023-07-29 20:40:551206瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn