Python json
库详解
一、什么是json
库?
json
库是Python的标准库,用于处理JSON(JavaScript Object Notation)数据。JSON是一种轻量级的数据交换格式,常用于客户端与服务器之间的数据传输。json
库提供了将Python对象与JSON格式的数据相互转换的功能。
为什么要使用JSON?
- 易读性高:JSON使用键值对存储数据,结构清晰,易于理解。
- 跨语言支持:JSON格式广泛支持于各种编程语言,方便数据交换。
- 轻量级:与XML相比,JSON格式更简洁,占用空间小。
二、使用场景
json
库常用于以下场景:
- API数据传输:在客户端与服务器之间进行数据交换时,常使用JSON格式进行传输。
- 配置文件:使用JSON格式保存程序的配置信息,便于读取和修改。
- 数据存储:在简单的数据存储场景下,可以使用JSON文件保存数据。
- 序列化与反序列化:将Python对象转换为JSON字符串,便于存储或传输;反之亦然。
三、json
库的基本API
1. json.dumps()
- Python对象转JSON字符串
json.dumps()
用于将Python对象转换为JSON格式的字符串。
语法:
import json
json_string = json.dumps(obj, indent=None, separators=None, ensure_ascii=True)
参数说明:
obj
: 要转换为JSON字符串的Python对象。indent
: (可选)用于指定缩进级别,便于美观输出。separators
: (可选)用于指定键值对之间的分隔符。ensure_ascii
: (可选)默认为True,非ASCII字符会被转义。
示例:
import json
data = {
'name': 'John', 'age': 30, 'city': 'New York'}
json_string = json.dumps(data, indent=4) # 美观输出,缩进4个空格
print(json_string)
输出:
{
"name": "John",
"age": 30,
"city": "New York"
}
使用场景:
- 将Python数据转换为JSON字符串,便于存储或通过网络传输。
2. json.loads()
- JSON字符串转Python对象
json.loads()
用于将JSON格式的字符串转换为Python对象。
语法:
import json
obj = json.loads(json_string)
参数说明:
json_string
: 要转换的JSON格式字符串。
示例:
import json
json_string = '{"name": "John", "age": 30, "city": "New York"}'
data = json.loads(json_string)
print(data)
输出:
{