Day4 - Python 语言对Json字符串的处理
程序员文章站
2022-03-08 11:37:09
...
Json模块
一、字符串与字典区别及相互转换
字典转换为字符串:dump()方法
1.打印时,字典k和v是单引号,Json字符串的内容使用双引号来标记的
2.把字典转为字符串,使用dumps方法可以将字典k-v形式改为Json字符串
3.在dumps()方法中添加ensure_ascii=False可以打印中文
4.在Json()中添加indent=4代表缩进4个空格的意思
import json
import pprint
d = {"code":0,"msg":"操作成功","token":"xxxxx"}
pprint.pprint(d)
json_str = json.dumps(d,ensure_ascii=False)
pprint.pprint(json_str)
[result~]:
{'code': 0, 'msg': '操作成功', 'token': 'xxxxx'}
'{"code": 0, "msg": "操作成功", "token": "xxxxx"}'
字符串转换为字典:loads() 方法
import json
import pprint
json_str = '{"code": 0, "msg": "操作成功", "token": "xxxxx"}'
dic = json.loads(json_str)
pprint.pprint(dic)
[result~]:
{'code': 0, 'msg': '操作成功', 'token': 'xxxxx'}
字符串转换为字典:load()方法,直接操控文件
import json
with open("student2.json",encoding="utf-8") as f:
result = json.load(f)
print(result)
[result~]:
{'code': 0, 'msg': '操作成功', 'token': 'xxxxx', 'addr': '10.101.1.1', 'phone': '182026'}
字典转换为字符串:dump()方法,也是直接操控文件,不能对内容进行更改
d = {"code": 0, "msg": "操作成功", "token": "xxxxx","addr":"10.101.1.1","phone":"182026"}
print(d)
with open("student2.json",'w',encoding="utf-8") as f:
json.dump(d,f,ensure_ascii=False,indent=4)
二、向Json文件中写入内容
d = {"code": 0, "msg": "操作成功", "token": "xxxxx","addr":"10.101.1.1","phone":"182026"}
with open("student2.json", 'w', encoding="utf-8") as f:
json_str = json.dumps(d,ensure_ascii=False,indent=4)
#indent 代表缩进的意思,4代表缩进4个空格,-将Json字符串格式化
f.write(json_str)