在Python语言中,json数据与dict字典以及对象之间的转化,是必不可少的操作。

在Python中自带json库。通过import json导入。

在json模块有2个方法,

  • loads():将json数据转化成dict数据
  • dumps():将dict数据转化成json数据
  • load():读取json文件数据,转成dict数据
  • dump():将dict数据转化成json数据后写入json文件

下面是具体的示例:

dict字典转json数据

import json
def dict_to_json():
dict = {}
dict['name'] = 'many'
dict['age'] = 10
dict['sex'] = 'male'
print(dict) # 输出:{'name': 'many', 'age': 10, 'sex': 'male'}
j = json.dumps(dict)
print(j) # 输出:{"name": "many", "age": 10, "sex": "male"}
if __name__ == '__main__':
dict_to_json()

对象转json数据

import json
def obj_to_json():
stu = Student('007', '007', 28, 'male', '13000000000', '123@qq.com')
print(type(stu)) # <class 'json_test.student.Student'>
stu = stu.__dict__ # 将对象转成dict字典
print(type(stu)) # <class 'dict'>
print(stu) # {'id': '007', 'name': '007', 'age': 28, 'sex': 'male', 'phone': '13000000000', 'email': '123@qq.com'}
j = json.dumps(obj=stu)
print(j) # {"id": "007", "name": "007", "age": 28, "sex": "male", "phone": "13000000000", "email": "123@qq.com"}
if __name__ == '__main__':
obj_to_json()

json数据转成dict字典

import json

def json_to_dict():
j = '{"id": "007", "name": "007", "age": 28, "sex": "male", "phone": "13000000000", "email": "123@qq.com"}'
dict = json.loads(s=j)
print(dict) # {'id': '007', 'name': '007', 'age': 28, 'sex': 'male', 'phone': '13000000000', 'email': '123@qq.com'} if __name__ == '__main__':
json_to_dict()

PS:遇到问题没人解答?需要Python学习资料?可以加点击下方链接自行获取

note.youdao.com/noteshare?id=2dce86d0c2588ae7c0a88bee34324d76

json数据转成对象

import json
def json_to_obj():
j = '{"id": "007", "name": "007", "age": 28, "sex": "male", "phone": "13000000000", "email": "123@qq.com"}'
dict = json.loads(s=j)
stu = Student()
stu.__dict__ = dict
print('id: ' + stu.id + ' name: ' + stu.name + ' age: ' + str(stu.age) + ' sex: ' + str(
stu.sex) + ' phone: ' + stu.phone + ' email: ' + stu.email) # id: 007 name: 007 age: 28 sex: male phone: 13000000000 email: 123@qq.com
if __name__ == '__main__':
json_to_obj()

json的load()与dump()方法的使用

  • dump()方法的使用
import json

def dict_to_json_write_file():
dict = {}
dict['name'] = 'many'
dict['age'] = 10
dict['sex'] = 'male'
print(dict) # {'name': 'many', 'age': 10, 'sex': 'male'}
with open('1.json', 'w') as f:
json.dump(dict, f) # 会在目录下生成一个1.json的文件,文件内容是dict数据转成的json数据 if __name__ == '__main__':
dict_to_json_write_file()
  • load()的使用
import json
def json_file_to_dict():
with open('1.json', 'r') as f:
dict = json.load(fp=f)
print(dict) # {'name': 'many', 'age': 10, 'sex': 'male'}
if __name__ == '__main__':
json_file_to_dict()

最新文章

  1. Linux tar文件打包
  2. BZOJ 2654 &amp; 玄学二分+MST
  3. html规范总结
  4. AngularJs学习笔记--html compiler
  5. iOS终端查看.a文件是否能在模拟器上运行
  6. 构建WDK驱动出现fatal error U1087: cannot have : and :: dependents for same target
  7. 【写一个自己的js库】 4.完善跨浏览器事件操作
  8. DDD,ORM还是Ado.Net
  9. samba服务搭建
  10. 转载 java基础题(面试必知)
  11. 算法:JavaScript两数之和
  12. IT 必备电脑快捷键
  13. Ajax分页 Spring MVC + Hibernate
  14. Unity XLua之协程
  15. win7下出现读不到移动硬盘的解决办法
  16. App架构师实践指南一之App基础语法
  17. Entity Framework Core
  18. [个人项目] 使用 Vuejs 完成的音乐播放器
  19. python_ssh连接
  20. 用个体软件过程(PSP)记录你的工作

热门文章

  1. 解惑Python模块学习,该如何着手操作...
  2. 一、Java基础篇
  3. luogu P1807 最长路_NOI导刊2010提高(07)
  4. sass 安装过程中的坑
  5. Exponial
  6. Linq 常用操作(增删改)
  7. 【CSS】381- 提升你的CSS选择器技巧
  8. markdownPad在win10下渲染报错问题
  9. CSS中的变量使用,var()语法
  10. 据说60%的Java程序员不明白分布式一致性?这次彻底搞懂!