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