python操作json数据
一、python操作json数据
1、json概念
(1) json是一种数据格式。
(2) javaScript的原生对象
2、定义json数据对象的语法
jsonobj={‘键名’:值1,....,’键名’:值n}
3、将python字典转为json字符串
(1) 使用json组件库中的dumps方法进行转换
jsonstring=json.dumps(字典对象,ensure_ascii=False)
ensure_ascii=False:表示不对中文进行编码转换
(2) 示例如下:
import json
dic={'sid':1,'sname':'张飞','sex':'男','address':'北京','age':22}
print(type(dic))
print(dic)
print("================================")
将字典装为json字符串
jsonstring=json.dumps(dic,ensure_ascii=False)
print(type(jsonstring))
print(jsonstring)
2、将json字符串转为python字典
Dictobj=json.loads(json字符串)
import json
dic={'sid':1,'sname':'张飞','sex':'男','address':'北京','age':22}
print(type(dic))
print(dic)
print("================================")
将字典装为json字符串
jsonstring=json.dumps(dic,ensure_ascii=False)
print(type(jsonstring))
print(jsonstring)
将json字符串转为字典对象
dictobject=json.loads(jsonstring)
print(type(dictobject))
3、将python字典转为json字符串并保存到文件
with open(‘文件名’,’w’,encoding=’utf-8’) as f
Json.dump(字典对象,f,ensure_ascii=False)
示例如下:
将字典装为字符串存储到文件
with open("stu.json","w",encoding="utf-8") as f:
json.dump(dictobject,f,ensure_ascii=False)
4、从文件中读取json格式的数据转为字典对象
with open(‘要读的文件’,encoding=’utf-8’) as f:
dictobj=json.load(f)
5、综合示例如下:
import json
import os
从文件中读取json字符串转为字典集合的方法
def fromFileToDict():
try:
f=open('students.json',encoding='utf-8')
dictobj=json.load(f)
f.close()
return dictobj
except:
print("文件不存在!请先添加数据")
将python字典集合写入到文件的方法
def writeDictListToFile(dictlist):
with open('students.json','w',encoding='utf-8') as f:
json.dump(dictlist,f,ensure_ascii=False)
f.close()
增加学生信息到字典集合的方法
def addStudent():
dictlist=fromFileToDict();#先从文件中读取字典集合
print(dictlist)
if dictlist==None :#没有字典集合,则先创建字典集合
dictlist=[];
sid=input("请输入学生编号:")
sname=input("请输入学生姓名:")
sex=input("输入学生性别:")
address=input("输入学生地址:")
age=input("输入学生年龄:")
dictobj={};
dictobj['sid']=sid;
dictobj['sname'] = sname;
dictobj['sex'] = sex;
dictobj['address'] = address;
dictobj['age'] = age;
dictlist.append(dictobj)#将字典对象添加到字典集合
writeDictListToFile(dictlist)#将字典集合写入到文件
print("学生信息存储成功!")
显示从文件中读取的学生信息的方法
def showStudents():
dictlist = fromFileToDict(); # 先从文件中读取字典集合
print(dictlist)
if dictlist == None: # 没有字典集合,则先创建字典集合
print("没有任何学生信息存在,请先添加!")
return
print("编号\t姓名\t性别\t地址\t年龄")
print("================================================")
for studic in dictlist:
print(studic['sid'],'\t',studic['sname'],'\t',studic['sex'],'\t',studic['address'],'\t',studic['age'])
print("================================================")
编写菜单,控制程序方法的调用
def showmenu():
while 11 :
print("=学生信息管理=")
print("1--添加")
print("2--修改")
print("3--删除")
print("4--查找")#按照学号查询
print("5--显示")
print("0--退出")
print("==============")
op=input("请选择0-5之间的数字:")
code=int(op)
if code1:
addStudent()
if code==5:
showStudents()
if code==0:
print("谢谢使用!系统退出!")
break
if name == '__main__':
showmenu()
评论留言