# JSON数据解析
JSON,全称JavaScript Object Notation,是一种轻量级的数据交换格式,它基于JavaScript的语法,但比JavaScript更为简洁,因此在许多应用程序中都使用JSON来存储和交换数据,解析JSON数据就是将JSON格式的字符串转换成Python对象,使我们能够对其进行操作和处理。
在Python中,我们可以使用内置的`json`模块来解析JSON数据,下面是一个简单的示例:
import json # JSON字符串 json_string = '{"name": "John", "age": 30, "city": "New York"}' # 解析JSON字符串为Python对象 data = json.loads(json_string) # 输出解析后的数据 print(data) # 输出:{'name': 'John', 'age': 30, 'city': 'New York'}
在上面的代码中,我们首先导入了`json`模块,我们定义了一个包含JSON数据的字符串`json_string`,使用`json.loads()`函数将JSON字符串解析为Python对象,并将结果存储在`data`变量中,我们输出了解析后的数据。
如果JSON字符串中包含数组,我们也可以使用`json.loads()`函数来解析它们。
import json # JSON字符串 json_string = '[{"name": "John", "age": 30}, {"name": "Mary", "age": 25}]' # 解析JSON字符串为Python对象 data = json.loads(json_string) # 输出解析后的数据 print(data) # 输出:[{'name': 'John', 'age': 30}, {'name': 'Mary', 'age': 25}]
在这个例子中,我们解析了一个包含两个对象的JSON数组,解析后的结果是一个Python列表,其中每个元素都是一个Python字典。
除了`json.loads()`函数之外,`json`模块还提供了其他有用的函数,例如`json.load()`和`json.dump()`,这些函数可以用于从文件中读取和写入JSON数据。
import json # 从文件中读取JSON数据 with open('data.json', 'r') as file: data = json.load(file) # 输出解析后的数据 print(data)
在这个例子中,我们使用`json.load()`函数从名为`data.json`的文件中读取JSON数据,并将其存储在`data`变量中,我们输出了解析后的数据,同样地,我们也可以使用`json.dump()`函数将Python对象写入到JSON文件中。