json.dumps 将其它数据类型的的数据转换成字符串
json.loads 将字符串类型的其他数据还原
json.dump 将其他数据类型的数据转换成字符串写入文件
json.load 将文件中字符串类型的其他数据读出来后显示原数据类型
json模块的限制及使用方法
import json # json格式的限制1,json格式的key必须是字符串数据类型 # json格式中的字符串只能是"" # # 如果是数字为key,那么dump之后会强行转成字符串数据类型 dic = {1:2,3:4} str_dic = json.dumps(dic) print(str_dic) #{"1": 2, "3": 4} new_dic = json.loads(str_dic) print(new_dic) #{'1': 2, '3': 4} # # json是否支持元组,对元组做value的字典会把元组强制转换成列表 dic = {'abc':(1,2,3)} str_dic = json.dumps(dic) print(str_dic) #{"abc": [1, 2, 3]} new_dic = json.loads(str_dic) print(new_dic) #{'abc': [1, 2, 3]} # json是否支持元组做key,不支持 dic = {(1,2,3):'abc'} str_dic = json.dumps(dic) # 报错 # # 对列表的dump lst = ['aaa',123,'bbb',12.456] with open('json_demo','w') as f: json.dump(lst,f) with open('json_demo') as f: ret = json.load(f) print(ret) # # 能不能多次dump数据到文件里,可以多次dump但是不能load出来了 dic = {'abc':(1,2,3)} lst = ['aaa',123,'bbb',12.456] with open('json_demo','w') as f: json.dump(lst,f) json.dump(dic,f) with open('json_demo') as f: ret = json.load(f) print(ret) # # 想dump多个数据进入文件,用dumps dic = {'abc':(1,2,3)} lst = ['aaa',123,'bbb',12.456] with open('json_demo','w') as f: str_lst = json.dumps(lst) str_dic = json.dumps(dic) f.write(str_lst+' ') f.write(str_dic+' ') with open('json_demo') as f: for line in f: ret = json.loads(line) print(ret) # # 中文格式的 ensure_ascii = False dic = {'abc':(1,2,3),'country':'中国'} ret = json.dumps(dic,ensure_ascii = False) print(ret) dic_new = json.loads(ret) print(dic_new) import json dic = {'abc': "我爱中国"} with open("xuxi", "w", encoding="utf-8")as f: ret = json.dump(dic, f, ensure_ascii=False) with open("xuxi", encoding="utf-8")as f1: ret2 = json.load(f1) print(ret2) # json的其他参数,是为了用户看的更方便,但是会相对浪费存储空间 import json data = {'username':['李华','二愣子'],'sex':'male','age':16} json_dic2 = json.dumps(data,sort_keys=True,indent=4,separators=(',',':'),ensure_ascii=False) print(json_dic2) # set不能被dump/dumps