在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'] = 10dict['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数据

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
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 jsondef 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()

json数据转成对象

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
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__ = dictprint('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()方法的使用
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import jsondef dict_to_json_write_file():dict = {}dict['name'] = 'many'dict['age'] = 10dict['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()

Python之dict(或对象)与json之间的互相转化相关推荐

  1. python把dict转成json_Python dict(或对象)与json之间的互相转化

    Python dict(或对象)与json之间的互相转化 原文转载自 1.JSON:JavaScript 对象表示法,是轻量级的文本数据交换格式,独立于语言,平台 2.JSON 语法规则 数据在名称/ ...

  2. python json dict对象使用_Python中:dict(或对象)与json之间的互相转化

    在Python语言中,json数据与dict字典以及对象之间的转化,是必不可少的操做.python 在Python中自带json库.经过import json导入.json 在json模块有2个方法, ...

  3. js解析json字符串、对象与json之间的转换

    前言 在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键. js解析json字符串 // JSON字符串 'v ...

  4. 【Python学习】自定义对象转JSON

    [问题1] 默认的[json.dumps]方法直接去转自定义对象,会出现错误: Object of type User is not JSON serializable 类似这种错误,意思就是无法序列 ...

  5. 对象与JSON之间相互转换 jackson-databind-2.7.0

    jackson-databind-2.7.0 Streaming: jackson-core jar,定义了底层的streaming API和实现了Json特性. Annotations: jacks ...

  6. 字符串和json之间的互相转化

    在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法. JSON.stringify(obj)将JSO ...

  7. java fastjson vector转为json_java对象与Json字符串之间的转化(fastjson)

    public class test { public static void main(string[] args) { // 实现java对象与json字符串之间的转化 // 1. person对象 ...

  8. java对象与Json字符串之间的转化(fastjson)

    1. 首先引入jar包 在pom.xml文件里加入下面依赖: <dependency><groupId>com.alibaba</groupId><artif ...

  9. 使用jackson对Java对象与JSON字符串相互转换的一些总结

    总结一下自己使用 jackson 处理对象与 JSON 之间相互转换的心得. jackson 是一个用 Java 编写的,用来处理 JSON 格式数据的类库,它速度非常快,目前来看使用很广泛,逐渐替代 ...

最新文章

  1. c++ - Create empty json array with jsoncpp - Stack Overflow
  2. 线性模型和非线性模型的区别
  3. kafka常用的命令
  4. VTK:PolyData之RotationAroundLine
  5. 虚拟成像技术_苹果AR头显细节全曝光!微美全息(WIMI.US)光场技术构建AI影像...
  6. mongodb 启动时的警告问题
  7. python跨目录调用_python 跨目录访问文件
  8. ubuntu 修该rm命令使删除文件到回收站
  9. foreach和volist的区别
  10. Judge Simple(判断-简单)
  11. 海康摄像机通过Ehome协议接入EasyCVR无法成功上线的原因排查及配置注意事项
  12. part5 vue和HTML5相关知识总结
  13. CodeLite 16无法自动代码补全
  14. VC中CTime和SYSTEMTIME转化
  15. 纯干货!一款APP从设计稿到切图过程全方位揭秘
  16. 电脑画流程图用什么软件好?这3款软件很好用
  17. 用键盘打开计算机管理,windows10系统使用键盘打开设备管理器的三种方法
  18. PHP常见的设计模式之:适配器模式
  19. CentOS7 开机进入紧急模式EmergencyMode的解决办法
  20. [leetcode] 77. Combinations @ python

热门文章

  1. MyBatis学习总结(七)——Mybatis缓存
  2. Word无法使用超链接,提示:“由于本机的限制...”
  3. linux如何锁定文件夹,如何在没有加密的情况下保护Linux / Unix上的文件夹? | MOS86...
  4. python爬取百度百科表格_第一个python爬虫(python3爬取百度百科1000个页面)
  5. Excel公式扫盲——SUMPRODUCT 函数
  6. response code 404 500
  7. 使用SoapUI 测试Web Service
  8. 用dwz+springmvc出现这个问题Http status: 200 OK ajaxOptions: parsererror thrownError
  9. ABAP 用户选择屏幕 搜索帮助 实现代码
  10. 美团和饿了么刷屏背后,支撑算法的技术你了解多少?