python的json包位置及用法总结


Posted in Python onJune 21, 2020

JSON是一种独立于语言的文本格式,用于数据交换,可以在不同语言间交换数据。

在高级版本的Python里自带json模块包,使用import json直接导入模块。

JSON文本以“键/值”对形式定义,Python里的json模块主要用于“Python数据与JSON格式的数据间相互转换”。

JSON的数据类型:

数字(整数或浮点数),字符串(“ ”),逻辑值(True/False),数组([ ]),对象({ }),null。

json模块里常用的四个方法是dump,dumps,load,loads。详细的方法使用细节参考Python自带帮助文件help(json.dump)。

Encode编码为json对象:

json.dumps

Pyhton的Json模块提供了把内存中的对象序列化的方法。

dump的功能就是把Python对象encode为json对象,一个编码过程。 注意json模块提供了json.dumps和json.dump方法,区别是dump直接到文件,而dumps到一个字符串,这里的s可以理解为string。

#dumps方法
import json
data = [{ 'a':'A', 'b':(2, 4), 'c':3.0 }]
print('DATA:', repr(data), type(data)) 
data_string = json.dumps(data)
print('JSON:', data_string, type(data_string))

json.dump

不仅可以把Python对象编码为string,还可以写入文件。

但是不能把Python对象直接写入文件,这样会报错TypeError: expected a string or other character buffer object,需要将其序列化之后才可以写入文件。

#dump方法
import json
data = [ { 'a':'A', 'b':(2, 4), 'c':3.0 } ]
with open('output.json','w') as fp:
 json.dump(data,fp)

Decode解码为Python对象:

json.loads

以上给出了Python内置对象dump为json对象的操作,反过来,那如何从json对象decode解码为Python可以识别的对象呢?

用loads方法,当然这个是基于string的;如果是文件,可以用json.load方法。

#loads方法
decoded_json = json.loads(data_string)
print(type(decoded_json),decoded_json)

json.load

#load方法
with open('output.json') as fp:
 print(type(fp))
  
 loaded_json = json.load(fp)
 print(type(loaded_json),loaded_json)

Python里open(‘文件路径',‘读写模式')内建函数,作用是打开文件。

利用with代码块操作,便于管理上下文,当with代码块执行完时,内容会自动关闭并释放文件资源。

知识点补充:

数据类型对照表

python数据 json数据
dict object
list, tuple array
str, unicode string
int, long, float number
True true
False false
None null
单引号(') 双引号(")

到此这篇关于python的json包位置及用法总结的文章就介绍到这了,更多相关python的json包用法详解内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python random模块(获取随机数)常用方法和使用例子
May 13 Python
Python引用模块和查找模块路径
Mar 17 Python
python中函数总结之装饰器闭包详解
Jun 12 Python
Python实现Smtplib发送带有各种附件的邮件实例
Jun 05 Python
python利用sklearn包编写决策树源代码
Dec 21 Python
解决Tensorflow安装成功,但在导入时报错的问题
Jun 13 Python
idea创建springMVC框架和配置小文件的教程图解
Sep 18 Python
Python判断变量名是否合法的方法示例
Jan 28 Python
Django Rest framework频率原理与限制
Jul 26 Python
python序列化与数据持久化实例详解
Dec 20 Python
Python 操作 PostgreSQL 数据库示例【连接、增删改查等】
Apr 21 Python
python 实现端口扫描工具
Dec 18 Python
为什么相对PHP黑python的更少
Jun 21 #Python
通过自学python能找到工作吗
Jun 21 #Python
python中常见错误及解决方法
Jun 21 #Python
python安装后的目录在哪里
Jun 21 #Python
浅谈Python 函数式编程
Jun 20 #Python
音频处理 windows10下python三方库librosa安装教程
Jun 20 #Python
深入浅析python 中的self和cls的区别
Jun 20 #Python
You might like
php session 错误
2009/05/21 PHP
PHP读取文件并可支持远程文件的代码分享
2012/10/03 PHP
PHP的构造方法,析构方法和this关键字详细介绍
2013/10/22 PHP
java微信开发之上传下载多媒体文件
2016/06/24 PHP
CI框架常用经典操作类总结(路由,伪静态,分页,session,验证码等)
2016/11/21 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
小型js框架veryide.librar源代码
2009/03/05 Javascript
artDialog 4.1.5 Dreamweaver代码提示/补全插件 附下载
2012/07/31 Javascript
JavaScript代码简单实现求杨辉三角给定行的最大值
2013/10/29 Javascript
JavaScript实现的双向跨域插件分享
2015/01/31 Javascript
AngularJs根据访问的页面动态加载Controller的解决方案
2015/02/04 Javascript
js实现兼容性好的微软官网导航下拉菜单效果
2015/09/07 Javascript
Immutable 在 JavaScript 中的应用
2016/05/02 Javascript
微信小程序页面间值传递的两种方法
2018/11/26 Javascript
Vue唯一可以更改vuex实例中state数据状态的属性对象Mutation的讲解
2019/01/18 Javascript
点击按钮弹出模态框的一系列操作代码实例
2019/03/29 Javascript
Element InputNumber计数器的使用方法
2020/07/27 Javascript
Python 使用requests模块发送GET和POST请求的实现代码
2016/09/21 Python
python利用拉链法实现字典方法示例
2017/03/25 Python
PyCharm设置护眼背景色的方法
2018/10/29 Python
python调用函数、类和文件操作简单实例总结
2019/11/29 Python
使用Python爬取弹出窗口信息的实例
2020/03/14 Python
python 比较字典value的最大值的几种方法
2020/04/17 Python
详解pandas映射与数据转换
2021/01/22 Python
美国祛痘、抗衰老药妆品牌:Murad
2016/08/27 全球购物
JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
2015/10/22 面试题
工程部主管岗位职责
2013/11/17 职场文书
教师研修随笔感言
2014/01/23 职场文书
人事专员工作职责
2014/02/22 职场文书
优乐美广告词
2014/03/14 职场文书
违反交通安全法检讨书
2014/10/24 职场文书
承诺函格式模板
2015/01/21 职场文书
安全保证书格式
2015/02/28 职场文书
2015年惩防体系建设工作总结
2015/05/22 职场文书
党小组鉴定意见
2015/06/02 职场文书
Mysql Innodb存储引擎之索引与算法
2022/02/15 MySQL