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 code
1:
addStudent()

    if code==5:
        showStudents()
    if code==0:
        print("谢谢使用!系统退出!")
        break

if name == '__main__':
showmenu()

标签

评论

© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1