How to use the json module in Python 2.x to convert JSON strings into Python objects
JSON (JavaScript Object Notation) is a lightweight data exchange format often used to transfer data from an application Program transfer to another application. In Python, you can use the json module to process JSON data. This article will demonstrate how to use the json module to convert a JSON string into a Python object.
First, we need to import the json module:
import json
Next, assume we have the following JSON string:
json_str = '{"name": "Alice", "age": 25, "city": "New York"}'
Now, we want to convert this JSON string is a Python object. You can use the loads() function of the json module to achieve this:
python_obj = json.loads(json_str)
In this way, the data in json_str is converted into a Python dictionary object. We can get the corresponding value by accessing the dictionary key:
print(python_obj["name"]) # 输出:Alice print(python_obj["age"]) # 输出:25 print(python_obj["city"]) # 输出:New York
In addition to converting JSON strings into dictionary objects, the json module can also convert JSON strings into other Python objects, such as lists, strings, etc. .
If the JSON string represents a list, you can use the loads() function of the json module to convert it into a Python list object. For example:
json_str = '[1, 2, 3, 4, 5]' python_obj = json.loads(json_str) print(python_obj) # 输出:[1, 2, 3, 4, 5]
If the JSON string represents a string, you can use the loads() function of the json module to convert it into a Python string object. For example:
json_str = '"Hello, World!"' python_obj = json.loads(json_str) print(python_obj) # 输出:Hello, World!
It should be noted that both the key and the string in the JSON string must be enclosed in double quotes. If enclosed in single quotes, a JSONDecodeError exception will occur.
In addition, if the JSON string contains floating point numbers, Boolean values and other types, the json module will automatically convert them into corresponding Python objects. For example:
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
Of course, we can also convert the JSON string into a custom Python class object. Just define a class corresponding to a JSON string and implement the from_json() method in the class to build the object. The following is an example:
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)
By implementing the from_json() method, we can customize the logic of converting JSON strings into Python objects.
The above is how to use the json module to convert JSON strings into Python objects in Python 2.x. In this way, we can easily extract and process JSON data to adapt it to a wider range of application scenarios.
The above is the detailed content of How to use the json module to convert JSON strings into Python objects in Python 2.x. For more information, please follow other related articles on the PHP Chinese website!