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)

浙公网安备 33010602011771号