python-json序列化和反序列化
json序列化:json.dumps()用于将dict类型的数据转成json字符串
在序列化时,中文汉字被转换为unicode编码,在dumps函数中添加参数ensure_ascii=False可解决,也可以解决特殊字符;
dumps的indent参考可以调整显示格式,即缩进,一般设置为2;
键值数据不能用双引号,只能用单引号(如果是双引号,可以用eval())。
print(f"返回结果为: {json.dumps(json.loads(result),ensure_ascii=False, indent=2)}")
json反序列化:json.loads()用于将json字符串转成dict类型的数据
import json #处理unicode编码 res = '{"code":"0","msg":"\u93b4\u612c\u59db","data":true,"responseTime":"2021-04-06 14:54:27"}' res_dic = json.loads(res) res_str = json.dumps(res_dic, ensure_ascii=False) print(res_dic) print(res_str) print(eval(str(res_dic)))
import json #json.dumps()用于将dict类型的数据转成json字符串 #json.loads()用于将json字符串转成dict类型的数据 dic = {'age': 23, 'job': 'student'} print(type(dic),dic) # out: <class 'dict'> {'age': 23, 'job': 'student'} dic_str = json.dumps(dic) print(type(dic_str), dic_str) # out: <class 'str'> {"age": 23, "job": "student"} dic_obj = json.loads(dic_str) print(type(dic_obj), dic_obj) # out: <class 'dict'> {'age': 23, 'job': 'student'} #eval()字符串转字典,列表 dic= "{'age': 23, 'job': 'student'}" print(type(dic),dic) # out: <class 'str'> {'age': 23, 'job': 'student'} print(type(eval(dic)),eval(dic)) # out: <class 'dict'> {'age': 23, 'job': 'student'} lis = "['age','job']" print(type(lis),lis) # out: <class 'str'> ['age','job'] print(type(eval(lis)),eval(lis)) # out: <class 'list'> ['age', 'job'] #dump: 将dict类型数据写入json文件中 #load: 读取数据以dict类型返回 with open("../file/json/record.json","w") as f: json.dump(dic_obj,f) with open("../file/json/record.json",'r') as f: dic_obj = json.load(f) print(type(dic_obj), dic_obj) # out: <class 'dict'> {'age': 23, 'job': 'student'} print(dic_obj["age"]) # out: 23
分类:
Python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人