Python学习笔记--7 json的使用

时间:2022-05-12 01:47:01
#json通用的数据类型,所有的语言都认识
#k-v{}
#json是字符串

'''
#下面这个,虽然有大括号,但是不是字典,是json字符串。前后加了三个单引号转成了字符串。
s='''{
"error_code": 0,
"stu_info": [
{
"id": 309,
"name": "小白",
"sex": "男",
"age": 28,
"addr": "河南省济源市北海大道32号",
"grade": "天蝎座",
"phone": "18512572946",
"gold": 100
},
{
"id": 310,
"name": "小白",
"sex": "男",
"age": 28,
"addr": "河南省济源市北海大道32号",
"grade": "天蝎座",
"phone": "18516572946",
"gold": 100
}
]
}
'''

import json
res=json.loads(s)#loads是字符串转字典。dumps是字典转字符串。
print(res)
print(type(res))
print(res.keys())

stu={'xiaojun':'123456','xiaohei':'75768','tanailing':'43243'}
res2=json.dumps(stu,indent=8,ensure_ascii=false)字典是单引号,变成字符串后是双引号.indent=8,控制缩进,前面加了8个空格。
#ensure_ascii=false 让显示的内容变成中文。
print(res2)
with open('stus.txt','w',encoding='utf-8')
# with open('stus.json', 'w', encoding='utf-8') #改成.json文件,显示的内容是有不同颜色的。
f.write(res2)



f=open('stus.json',encoding='uft-8')
content=f.read()
user_dic=json.loads(content)#loads传的是字符串
print(user_dic)


f=open('stus.json',encoding='uft-8')
user_dic=json.load(f)#load传的是文件对象
print(user_dic)

'''


f=open('stus2.json','w',encoding='uft-8')
stus={'xiaojun':'123456','xiaohei':'75768','tanailing':'43243'}
json.dump(stus,f,indent=4,ensure_ascii=false)
#如果你要把字典写入到文件里,用dump。如果不操作文件,只写入数据库,用dumps。