{ "language": [ { "name": "python", "url": "https://www.python.org/" }, { "name": "java", "url": "https://www.java.com/zh-CN/" } ] }
dumps()
:将 Python 对象编码成 JSON 字符串loads()
:解码 JSON 数据,该函数返回 Python 对象dump()
: Python 对象编码,并将数据写入 json 文件中load()
:从 json 文件中读取数据并解码为 Python 对象区别:dumps会转换成字符串,dump只是对象转文件(具体可以看源码)
import json data = { 'a':1, 'b':['2','3'], 'c':True, 'd':False, 'e':None } #将python对象转换为Json字符串 json_data = json.dumps(data) print(json_data) #定义一个json字符串 #将Json字符串转换为python对象 python_data = json.loads(json_data) print(python_data) print(type(python_data)) #把python对象转换为json格式的数据并且写入json文件 with open('data.json','w') as f: json.dump(data,f) #读取json文件并且转换为python对象 with open('data.json','r') as f: data = json.load(f) print(data) print(type(data))
indent
:根据数据格式缩进显示,默认为 None,没有缩进ensure_ascii
:对中文使用 ASCII 编码,默认为 True#使用indent和ascii json_data_1 = json.dumps(data,ensure_ascii=False,indent=4) print(json_data_1)