Python的标准库模块
| 常量、类或方法名 | 注解 | 
|---|---|
| json.dump | 方法,传入一个python对象,将其编码为json格式后存储到IO流中 | 
| json.dumps | 方法,传入一个python对象,将其编码为json格式后存储到str中 | 
| json.load | 方法,传入一个json格式的文件流,将其解码为python对象 | 
| json.loads | 方法,传入一个json格式的str,将其解码为python对象 | 
.jump(obj,fp,…) 保存json文件
将json 数据存储为json格式的文件里
需要传入 2个参数
json.jump(  json数据 ,  文件保存地址 )
import jsondata = [ { 'a':'A', 'b':(2, 4), 'c':3.0 } ]# 将对象以json格式保存到json_test.json文件中json.dump(obj=data, fp=open('json_test.json', 'w'))
可选参数ensure_ascii:
# ensure_ascii=False 表示字符会以原始格式存入# 默认为True表示以ascii格式存入json.dump(obj=dict_example, fp=open('testDir/json_test2.json', 'w', encoding='utf-8'), ensure_ascii=False)
可选参数indent:
# indent=4 表示以4个空格为缩进单位在适当的位置进行缩进排版处理,# 便于浏览,默认为None表示以最紧凑的方式存入json.dump(obj=dict_example, fp=open('testDir/json_test3.json', 'w'), indent=4)

可选参数separators:
# separators需要传入一个两个单位的元组(item_sep, key_sep)作为分隔符,# 默认为(': ',','),该参数不建议自定义data = {'key1':'value1', 2:[2,2,2,2], (3):"测试值"}json.dump(obj=data, fp=open('json_test.json', 'w'), indent=4, separators=('=','#'))

可选参数sort_keys:
# sort_keys=True代表传入的字典将按照键值进行排序data = [ { 'a':'A', 'b':(2, 4), 'c':3.0 } ]json.dump(obj=data, fp=open('json_test.json', 'w'), indent=4, sort_keys=True)

.dumps(obj) 生成json格式数据
json.dumps()方法的参数与json.dump()一致,唯一不同的是该方法会将结果以str的格式返回,而并不会传入一个IO流中
import jsondata = [ { 'a':'A', 'b':(2, 4), 'c':3.0 } ]print(json.dumps(obj = data))

.load(fp) 加载json文件
文件
jsonstr = json.load(open('json_test.json', 'r'))print(jsonstr)

.loads() 转python对象
将存放json格式的str对象解析为python对象
data = { 'a':'A', 'b':100, 'c':3.0 }print(type(data)) # <class 'dict'> 字典类型data = json.dumps(data)print(type(data)) # <class 'str'> 转成 字符串类型jsonstr = json.loads(data) # <class 'dict'> 字典类型
