JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。它基于JavaScript编程语言的一个子集,但独立于语言,许多编程语言都支持JSON。
JSON的基本结构包括两种类型:对象(object)和数组(array)。对象是由键值对组成的无序集合,键是字符串,值可以是字符串、数字、布尔值、null、对象或数组。数组是由有序的值组成的集合,值可以是任何JSON支持的类型。
以下是一个简单的JSON示例:
```json
{
"name": "张三",
"age": 30,
"isStudent": false,
"courses": ["语文", "数学", "英语"],
"address": {
"city": "北京",
"street": "朝阳路"
}
}
```
在Python中,可以使用`json`模块来处理JSON数据。以下是一些常用的操作:
- 将Python对象转换为JSON字符串:
```python
import json
data = {
"name": "张三",
"age": 30,
"isStudent": False,
"courses": ["语文", "数学", "英语"],
"address": {
"city": "北京",
"street": "朝阳路"
}
}
json_string = json.dumps(data)
print(json_string)
```
- 将JSON字符串转换为Python对象:
```python
import json
json_string = '{"name": "张三", "age": 30, "isStudent": false, "courses": ["语文", "数学", "英语"], "address": {"city": "北京", "street": "朝阳路"}}'
data = json.loads(json_string)
print(data)
```
- 从文件中读取JSON数据:
```python
import json
with open('data.json', 'r', encoding='utf-8') as f:
data = json.load(f)
print(data)
```
- 将Python对象写入JSON文件:
```python
import json
data = {
"name": "张三",
"age": 30,
"isStudent": False,
"courses": ["语文", "数学", "英语"],
"address": {
"city": "北京",
"street": "朝阳路"
}
}
with open('data.json', 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False, indent=4)
```