python---json处理,模块

一、https://www.bejson.com/  去这里校验 json合不合法
统一格式的字符串
import json
s="""
{
"code": 0,
"msg": "操作成功",
"token":"sdgdgsdgsds" #这是一个字符串,要取到它
}
"""
ret = json.loads(s) #json串转字典的
print(ret)
print(type(ret))

d = {
"code": 0,
"msg": "操作成功",
"token":"sdgdgsdgsds"
}
ret = json.dumps(d,ensure_ascii=False,indent=4) #字典转json

print(ret)
print(type(ret))

#操作文件   首先得合法json

import json
f=open("kabin.json",encoding="utf-8")
json.load(f) #传一个文件对象,自动读文件,简化一下
ret=json.load(f)
f.close()
print(ret)

json.dump() #字典,自动帮你写

二、json模块

json转化为python字典


1.json格式,本身是一个字符串 只是有特殊格式限制


d='{"code":0,"msg":"操作成功","token":"xxx"}'

print(d)结果:{"code":0,"msg":"操作成功","token":"xxx"}  # json打印为双引号引起

字典:

d={"code":0,"msg":"操作成功","token":"xxx"}
print(d)
结果:{'code': 0, 'msg': '操作成功', 'token': 'xxx'}# 字典打印时都是单引号

2.json转化为字典:json.loads("json_str") 字符串类型必须合法 否则无法转换


json_str='{"code":0,"msg":"操作成功","token":"xxx"}' # json数据类型必须合法,格式正确
print(json_str) # 结果:{"code":0,"msg":"操作成功","token":"xxx"} 双引号

dic=json.loads(json_str)
pprint.pprint(dic) # 结果:{'code': 0, 'msg': '操作成功', 'token': 'xxx'} 单引号 为字典

字典转化为json格式


字典转化为json:json.dumps(dict)


d={"code":0,"msg":"操作成功","token":"xxx"}

json_str=json.dumps(d,ensure_ascii=False) # 打印的时候 ensure_ascii=False中文会显示出来
print(json_str) # 结果:{"code": 0, "msg": "操作成功", "token": "xxx"} 双引号

 dump以及load


json.load()以及json.dump()仅能操作文件相关


load()


with open("student.txt",encoding="utf-8") as f1:
res=json.load(f1)
print(res) # 结果:将文件中的json转化为字典:{'code': 0, 'msg': '操作成功', 'token': 'xxx', 'addr': 'xxx', 'phone': '123'}

dump()


with open("student.txt","w",encoding="utf-8") as f:
# 将d这个字典写入到f里面
json.dump(d,f,ensure_ascii=False)
 
posted @ 2021-09-09 17:25  王王的王  阅读(102)  评论(0)    收藏  举报