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

原文转载自

1.JSON:JavaScript 对象表示法,是轻量级的文本数据交换格式,独立于语言,平台

2.JSON 语法规则

数据在名称/值对中

数据由逗号分隔

花括号保存对象

方括号保存数组

3.json例子

name = { "firstName":"John" , "lastName":"Doe" } #花括号 键值对 表对象

employees = { #方括号 数组可包含多个对象

"employees": [

{ "firstName":"John" , "lastName":"Doe" },

{ "firstName":"Anna" , "lastName":"Smith" },

{ "firstName":"Peter" , "lastName":"Jones" }

]

}

4.JSON /dict/对象 互相转换

使用python自带json库 其主要方法只有两个dump load/dumps loads

带's'的版本意为'str', json格式的字符串.

loads():将json数据转化成dict数据

dumps():将dict数据转化成json数据

load():读取json文件数据,转成dict数据

dump():将dict数据转化成json数据后写入json文件

import json #导入

dict 转 json

j = json.dumps(employees)

print(j)

{"employees": [{"firstName": "John", "lastName": "Doe"}, {"firstName": "Anna", "lastName": "Smith"}, {"firstName": "Peter", "lastName": "Jones"}]}

json 转dict

# 将json格式的字符串转换成json对象

jsonstr = '{"employees": \

[{"firstName": "John", "lastName": "Doe"},\

{"firstName": "Anna", "lastName": "Smith"},\

{"firstName": "Peter", "lastName": "Jones"}]\

}'

d = json.loads(jsonstr)

print(d)

print(type(d))

{'employees': [{'firstName': 'John', 'lastName': 'Doe'}, {'firstName': 'Anna', 'lastName': 'Smith'}, {'firstName': 'Peter', 'lastName': 'Jones'}]}

对象转dict

##### 对象的 属性名:属性值 组成的键值对 就成了一个dict

class Employee:

def __init__(self,firstname,lastname):

self.firstname=firstname

self.lastname=lastname

e1 = Employee('John','Doe')

print(e1.__dict__)

{'firstname': 'John', 'lastname': 'Doe'}

再转json

e1 = e1.__dict__

j1 = json.dumps(e1)

print(j1)

print(type(j1))

{"firstname": "John", "lastname": "Doe"}

直接从对象转json

jsonstr = json.dumps(Employee('乌鸡','张'),ensure_ascii=False,indent=4,default=lambda o:o.__dict__)

print(jsonstr) #ensure_ascii=False,才能原样显示中文,否则默认转换成'\u5f20'这样的 unicode-escape编码

{

"firstname": "乌鸡",

"lastname": "张"

}

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

with open('employee.json', 'w') as f:

json.dump(e1, f) # 会在目录下生成一个1.json的文件,文件内容是dict数据转成的json数据

with open('employee.json','r') as f:

d =json.load(f)

print(d)

{'firstname': 'John', 'lastname': 'Doe'}

python把dict转成json_Python dict(或对象)与json之间的互相转化相关推荐

  1. Python之dict(或对象)与json之间的互相转化

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

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

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

  3. dict 转换成json_Python XML转换为JSON,XML转换为Dict

    dict 转换成json Today we will learn how to convert XML to JSON and XML to Dict in python. We can use py ...

  4. python 将字符串转换成字典dict

    JSON到字典转化: 输出dict类型 dictinfo = json.loads(json_str) 字典到JSON转化: 输出str类型 # 比如: info = {'name' : 'jay', ...

  5. 安卓怎么把一个按钮设计成梯形_电气控制电路与PLC之间的梯形图转化,挺实用!...

    点击↑↑技成培训 ,关注并置顶即可长期免费订阅 18万+工控人关注的微信平台:技术分享.学习交流.工控视频 导读 电气电路控制和PLC控制之间的原理是相通的,自然的电气控制都可以通过PLC更加方便,高 ...

  6. python把字符串转化为字典_python 将字符串转换成字典dict的各种方式总结

    1)利用eval可以将字典格式的字符串与字典户转 >>>mstr = '{"name":"yct","age":10}' ...

  7. python将两个list合并成一个dict的方法

    python将两个list合并成一个dict的方法 不使用内置函数,直接用 def Run():list2 = [1, 2, 3, 4, 5 ];list3 = ["a", &qu ...

  8. Python中集合set和字典dict的用法区别

    Python中集合set和字典dict的用法区别 核心知识点 Python列表(list).元组(tuple).字典(dict)和集合(set)详解 Python set集合详解 1. Python创 ...

  9. python中集合set,字典dict和列表list的区别以及用法

    python中set代表集合,list代表列表,dict代表字典 set和dict的区别在于,dict是存储key-value,每一个key都是唯一的,set相对于dict存储的是key,且key是唯 ...

最新文章

  1. Android运行报错avd,Android Studio出错:无法在模拟器中启动AVD
  2. 可用子网数要不要减2_网络层 | 网际协议IP(2)
  3. 如何利用Excel进行同类项合并?
  4. [机器翻译]参与 Microsoft 开放源代码软件项目的方式
  5. Reflector 已经out了,试试ILSpy
  6. opencv opencl加速_回放 | OpenCV Webinar 3:OpenCV深度学习应用与原理分析
  7. IOS应用程序发布到苹果APP STORE完整流程使用教程
  8. vba 窗体单选框怎么传回sub_EXCEL表格VBA中函数的日常使用
  9. JZOJ.5274【NOIP2017模拟8.14】数组
  10. 默认参数和命名关键字参数(1)
  11. 闭包——抽象解释的简单注释
  12. in与exist , not in与not exist 的区别
  13. Net设计模式实例系列文章总结
  14. 何为领导力 —— 《Working Backwards》书评
  15. 专题讲座3 数论+博弈论 学习心得
  16. 学报格式和论文格式一样吗_学报格式
  17. 80端口有什么用,80端口被禁用怎么解决
  18. 将Spring Boot应用程序绑定到Cloud Foundry中的服务的方法
  19. 网站社交登录之微博登录
  20. 【数论】ACM数论基础知识总结

热门文章

  1. mybatis之xml中日期时间段查询的sql语句
  2. location.href
  3. Error creating bean with name ‘entityManagerFactory‘ defined in class path resource解决方案
  4. php大文件上传失败的原因及解决方法
  5. 【报告分享】2022十大科技趋势-达摩院.pdf(附下载链接)
  6. 【报告分享】2020“后浪”消费图鉴.pdf(附下载链接)
  7. 【报告分享】斯坦福-2019人工智能指数年度报告.pdf(附293页报告现在链接)
  8. 全球首发!计算机视觉Polygon Mesh Processing总结8——Remeshing Global Structure和Correspondences
  9. 还对Angel平台一知半解?腾讯专家为你指点迷津!
  10. 跨境电商ERP系统有几大功能?