python中json模块的使用
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模块的使用的更多相关文章
- 解决python中json模块loads出来的结构都是unicode的问题
在使用python的json模块对json字串反序列化成python对象的时候出现的字符串都是unicode类型,而不是python内置的str类型.在某种使用场景下用户必须做显式的转换才能正常使用, ...
- [ Python入门教程 ] Python中JSON模块基本使用方法
JSON (JavaScript Object Notation)是一种使用广泛的轻量数据格式,Python标准库中的json模块提供了一种简单的方法来编码和解码JSON格式的数据.用于完成字符串和p ...
- python中json格式数据输出实现方式
python中json格式数据输出实现方式 主要使用json模块,直接导入import json即可. 小例子如下: #coding=UTF-8 import json info={} info[&q ...
- python 历险记(五)— python 中的模块
目录 前言 基础 模块化程序设计 模块化有哪些好处? 什么是 python 中的模块? 引入模块有几种方式? 模块的查找顺序 模块中包含执行语句的情况 用 dir() 函数来窥探模块 python 的 ...
- python中json操作了解
什么是接口? 交换数据 http://openweathermap.org/current json简介 JSON 是存储和交换文本信息的语法.类似 XML JSON 语法是 JavaScript 语 ...
- Python中json的简单读写操作
Python中json的简单读写操作 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的 ...
- Python中optionParser模块的使用方法[转]
本文以实例形式较为详尽的讲述了Python中optionParser模块的使用方法,对于深入学习Python有很好的借鉴价值.分享给大家供大家参考之用.具体分析如下: 一般来说,Python中有两个内 ...
- python中threading模块详解(一)
python中threading模块详解(一) 来源 http://blog.chinaunix.net/uid-27571599-id-3484048.html threading提供了一个比thr ...
- 【转】关于python中re模块split方法的使用
注:最近在研究文本处理,需要用到正则切割文本,所以收索到了这篇文章,很有用,谢谢原作者. 原址:http://blog.sciencenet.cn/blog-314114-775285.html 关于 ...
随机推荐
- 2020软件测试工程师面试题汇总(内含答案)-看完BATJ面试官对你竖起大拇指!
测试技术面试题 1.什么是兼容性测试?兼容性测试侧重哪些方面? 参考答案: 兼容测试主要是检查软件在不同的硬件平台.软件平台上是否可以正常的运行,即是通常说的软件的可移植性. 兼容的类型,如果细分的话 ...
- C#中Newtonsoft.Json 序列化和反序列化 时间格式
步骤 引用 using Newtonsoft.Json; using Newtonsoft.Json.Converters; 格式配置 IsoDateTimeConverter timeFormat ...
- ProGuard使用文档
介绍 是一个对于Java字节码的免费的压缩器,优化器,混淆器和审核器: l 它检测并删除未使用的类,字段,方法和属性. l 它优化字节码并删除未使用的指令. l 它重命名其余类.字段和方法使用短 ...
- JavaSwing实现的文本比较软件
先看效果:截图1 截图2: 实现思路: 1.界面UI设计 2.功能点 : a 打开文件进行比较 b 粘贴内容进去比较 c 提示帮助 d 窗口可以任意拖动 3.文本比较算法 java类 : ...
- Windows10搭建本地ftp服务器
首先要有一个win10专业版的操作系统,连接上互联网... 一.首先打开控制面板选择程序,再选择"启用或关闭windows功能" 二.在"Windows功能"中 ...
- mysql explain参数详解
主要对几个参数做一些记录 type:显示的是访问类型 从最好到最差的连接类型为:const.eq_reg.ref.range.index和ALL 至少要达到range,基本是ref 最好是const ...
- 2.1JAVA文件基本结构
命名 包名 全为英文小写 项目包命名 域名反转.团队名.项目名 相关项目包命名 域名反转.团队名.父项目名.子项目名 类和接口名 所有单词首字母大写 抽象类 用"Abstract" ...
- Kubernetes官方java客户端之二:序列化和反序列化问题
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- Vue概述
Vue.js是一套构建用户界面的渐进式框架,采用自底向上增量开发的设计.Vue的核心库关注于视图(html),不仅易上手,还便于与第三方库或项目整合. 渐进式:一步一步,不是将所有的东西都学完才能使用 ...
- sa-token v1.9.0 版本已发布,带来激动人心新特性:同端互斥登录
sa-token是什么? sa-token是一个JavaWeb轻量级权限认证框架, 官网首页:http://sa-token.dev33.cn/ 如果你经常使用腾讯QQ,就会发现它的登录有如下特点:它 ...