一 json处理
json是一种所有语言中都通用的key-value数据结构的数据类型,很像python中的字典。
json串是一个字符串。
json文件 文件名 product.json
{ "iphone":{ "color":"red", "num":1, "price":98.5 }, "wather":{ "num":100, "price":1, "color":"white" }}
读json文件:json串--->python字典
(1) json.loads():把json串转换成字典
json.loads()需要先读文件,()里是string
import jsonf = open('product.json',encoding='utf-8')res = f.read()product_dic = json.loads(res) #把json串,变成python数据类型 print(type(product_dic)) #print(product_dic)
(2) json.load():从文件中读取json数据,然后转成字典
json.load()不用再读文件,()里是文件
import jsonf = open('product.json',encoding='utf-8')product_dic = json.load(f)#传一个文件对象,它会帮你读文件,()里是fileprint(type(product_dic)) #print(product_dic)
写json文件:python字典 ---> json串
(1) json.dumps():把字典转成json串
json.dumps()需要写文件,()里是string
import json#json串d = { 'lily':{ 'addr':'北京', 'age':28 }}fw = open('user_info.json','w',encoding='utf-8')dic_josn = json.dumps(d,ensure_ascii=False,indent=4) #字典转成json 字典转成字符串#字符串 #显示中文 #缩进fw.write(dic_josn)
(2) json.dump():把字典转换成的json串写到一个文件里面
json.dump()不用单独写文件,()里是file
import json#json串d = { 'lily':{ 'addr':'北京', 'age':28 }}fw = open('user_info.json','w',encoding='utf-8') json.dump(d,fw,ensure_ascii=False,indent=4) #操作文件,直接写