Python自带json模块,它有loads、dumps、load和dump这4个功能,用于Json格式字符串和Python数据类型间进行转换。

一、json.loads()

  • 把Json格式字符串解码转换成Python对象

  • Json中的对象和数组类型字符串会转换成Python中的字典和列表

  • 示例

    In [1]: import json #导入json模块
    
    In [2]: json_list_str = '[1,2,3,4]' #数组类型json字符串
    
    In [3]: json.loads(json_list_str) #返回python列表
    Out[3]: [1, 2, 3, 4] In [4]: json_dict_str = '{"name":"张三","age":30}'#对象类型json字符串 In [5]: json.loads(json_dict_str) #返回Python字典
    Out[5]: {'name': '张三', 'age': 30}

二、json.dumps()

  • 实现python类型转化为json字符串

  • Python中的列表或元组会转换成Json数组类型字符串,字典会转化成对象类型字符串

  • 示例

    In [6]: tuple = (1,2,3,4,5)
    
    In [7]: list = [1,2,3,4,5]
    
    In [8]: dict = {"name":"张三","age":30}
    
    In [9]: json.dumps(tuple) #python元组会转化成json中数组类型字符串
    Out[9]: '[1, 2, 3, 4, 5]' In [10]: json.dumps(list) #python列表转换成json中数组类型字符串
    Out[10]: '[1, 2, 3, 4, 5]' In [11]: json.dumps(dict) #python字典转换成json对象类型字符串,序列化时默认采用ascii编码
    Out[11]: '{"name": "\\u5f20\\u4e09", "age": 30}' In [12]: json.dumps(dict,ensure_ascii=False) #将ensure_ascii参数设为False,采用utf-8编码
    Out[12]: '{"name": "张三", "age": 30}'

三、json.dump()

  • 将Python内置类型序列化为json对象后写入文件

  • 示例

    In [13]: python_data = [{"name":"张三","age":30},{"name":"李四","age":40}]
    
    In [14]: json.dump(python_data,open('json_data.json','w'),ensure_ascii=False) #将python类型数据转换成json类型,并写入文件json_data.json
    
    In [15]: with open('json_data.json') as f: #查看写入文件中的json数据
    ...: print(f.read())
    ...:
    [{"name": "张三", "age": 30}, {"name": "李四", "age": 40}]

四、json.load()

  • 读取文件中json形式的字符串,并转化成python类型

  • 示例

    In [16]: json.load(open('json_data.json')) #读取文件json_data.json中的json字符串,并转换成python中的列表类型
    Out[16]: [{'name': '张三', 'age': 30}, {'name': '李四', 'age': 40}] In [17]: type(json.load(open('json_data.json'))) #python中的列表类型
    Out[17]: list

python中json模块的使用的更多相关文章

  1. 解决python中json模块loads出来的结构都是unicode的问题

    在使用python的json模块对json字串反序列化成python对象的时候出现的字符串都是unicode类型,而不是python内置的str类型.在某种使用场景下用户必须做显式的转换才能正常使用, ...

  2. [ Python入门教程 ] Python中JSON模块基本使用方法

    JSON (JavaScript Object Notation)是一种使用广泛的轻量数据格式,Python标准库中的json模块提供了一种简单的方法来编码和解码JSON格式的数据.用于完成字符串和p ...

  3. python中json格式数据输出实现方式

    python中json格式数据输出实现方式 主要使用json模块,直接导入import json即可. 小例子如下: #coding=UTF-8 import json info={} info[&q ...

  4. python 历险记(五)— python 中的模块

    目录 前言 基础 模块化程序设计 模块化有哪些好处? 什么是 python 中的模块? 引入模块有几种方式? 模块的查找顺序 模块中包含执行语句的情况 用 dir() 函数来窥探模块 python 的 ...

  5. python中json操作了解

    什么是接口? 交换数据 http://openweathermap.org/current json简介 JSON 是存储和交换文本信息的语法.类似 XML JSON 语法是 JavaScript 语 ...

  6. Python中json的简单读写操作

    Python中json的简单读写操作 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的 ...

  7. Python中optionParser模块的使用方法[转]

    本文以实例形式较为详尽的讲述了Python中optionParser模块的使用方法,对于深入学习Python有很好的借鉴价值.分享给大家供大家参考之用.具体分析如下: 一般来说,Python中有两个内 ...

  8. python中threading模块详解(一)

    python中threading模块详解(一) 来源 http://blog.chinaunix.net/uid-27571599-id-3484048.html threading提供了一个比thr ...

  9. 【转】关于python中re模块split方法的使用

    注:最近在研究文本处理,需要用到正则切割文本,所以收索到了这篇文章,很有用,谢谢原作者. 原址:http://blog.sciencenet.cn/blog-314114-775285.html 关于 ...

随机推荐

  1. Winform程序及dll打包成一个可执行的exe

    使用场景 通常开发的Winform程序,引用了其他类库后,在输出目录下都会产生很多DLL文件,exe执行时必须依赖这些DLL.想要Winform程序只有一个可执行exe文件,又不想打包成安装包,就可以 ...

  2. C#中烦人的Null值判断竟然这样就被消灭了

    作者:依乐祝 首发自:DotNetCore实战 公众号 https://www.cnblogs.com/yilezhu/p/14177595.html Null值检查应该算是开发中最常见且烦人的工作了 ...

  3. BF,BM,KMP,就这?

    为保证代码严谨性,文中所有代码均在 leetcode 刷题网站 AC ,大家可以放心食用. 皇上生辰之际,举国同庆,袁记菜馆作为天下第一饭店,所以被选为这次庆典的菜品供应方,这次庆典对于袁记菜馆是一项 ...

  4. 安装简易OpenShift单节点并配置DNS泛域名

    1 楔子 公司有个项目部署在 OpenShift 容器云平台上,出现问题较多,于是萌生在公司环境搭建现场仿真环境,由于资源没有生产环境多,就使用单节点简单模拟下 本文主要内容包括以下: 使用 Dnsm ...

  5. 后台查询出来的list结果 在后台查询字典表切换 某些字段的内容

    list=listEFormat(list, "Class_type", "611");//list查询数据库得到的结果Class_type /** * @Ti ...

  6. Android驱动学习-内部机制_回顾binder框架关键点

    内部机制_回顾binder框架关键点server注册服务时, 对每个服务都提供不同的ptr/cookie,在驱动程序里对每个服务都构造一个binder_node, 它也含有ptr/cookie cli ...

  7. Layui关闭弹出层对话框--刷新父界面

    在毕设的开发中,添加用户.添加权限等等一些地方需要类似于bootstrap中的模态框.然而开发用的却是layui 在layui中有弹出层可以实现其中的效果. 但是,一般用的时候都是提交后关闭窗口,刷新 ...

  8. 远程控制卡 使用ipmitools设置ipmi

    远程控制卡 使用ipmitools设置ipmi 使用DELL的远程控制卡可以方便的管理服务器 在CentOS中可以使用ipmitools管理 IPMI( Intelligent Platform Ma ...

  9. SSM整合详解

    1.基本概念 1.1.Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One ...

  10. 漫画 | 小公司卧薪尝胆三年,意外拿到美团offer

    今天给大家分享一篇,非科班出生的野生前端从业者的励志成长故事,故事的主人公王大拿(化名),在小公司打杂三年后,意外拿到了美团的offer,成功进阶大厂,跳槽到了美团的核心外卖事业部. 事故主人公:王大 ...