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 返回汉字的汉语拼音
Feb 27 Python
python数据结构之二叉树的统计与转换实例
Apr 29 Python
Python实现股市信息下载的方法
Jun 15 Python
正确理解python中的关键字“with”与上下文管理器
Apr 21 Python
Python排序搜索基本算法之归并排序实例分析
Dec 08 Python
将字典转换为DataFrame并进行频次统计的方法
Apr 08 Python
Python 统计字数的思路详解
May 08 Python
python 整数越界问题详解
Jun 27 Python
使用python快速在局域网内搭建http传输文件服务的方法
Nov 14 Python
使用python-cv2实现视频的分解与合成的示例代码
Oct 26 Python
python基于exchange函数发送邮件过程详解
Nov 06 Python
Pyqt5将多个类组合在一个界面显示的完整示例
Sep 04 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
第八节 访问方式 [8]
2006/10/09 PHP
ionCube 一款类似zend的PHP加密/解密工具
2010/07/25 PHP
thinkphp实现数组分页示例
2014/04/13 PHP
Discuz7.2版的faq.php SQL注入漏洞分析
2014/08/06 PHP
利用php-cli和任务计划实现刷新token功能的方法
2017/05/03 PHP
PHP设计模式之适配器模式(Adapter)原理与用法详解
2019/12/12 PHP
php7 list()、session及其他模块的修改实例分析
2020/05/25 PHP
利用jQuery的deferred对象实现异步按顺序加载JS文件
2013/03/17 Javascript
基于MVC3方式实现下拉列表联动(JQuery)
2013/09/02 Javascript
jquery append()方法与html()方法的区别及使用介绍
2014/08/01 Javascript
js获取页面传来参数的方法
2014/09/06 Javascript
javascript获取select值的方法分析
2015/07/02 Javascript
jQuery中的Deferred和promise 的区别
2016/04/03 Javascript
使用Promise解决多层异步调用的简单学习心得
2016/05/17 Javascript
Bootstrap3 图片(响应式图片&图片形状)
2017/01/04 Javascript
微信小程序的动画效果详解
2017/01/18 Javascript
VUE利用vuex模拟实现新闻点赞功能实例
2017/06/28 Javascript
用Vue-cli搭建的项目中引入css报错的原因分析
2017/07/20 Javascript
javascript设计模式 ? 原型模式原理与应用实例分析
2020/04/10 Javascript
[03:56]DOTA2完美大师赛趣味视频之小鸽子和Mineski打台球
2017/11/24 DOTA
[01:27:30]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
tornado框架blog模块分析与使用
2013/11/21 Python
python 中的list和array的不同之处及转换问题
2018/03/13 Python
python实现随机漫步算法
2018/08/27 Python
实例讲解python中的协程
2018/10/08 Python
Python爬虫 urllib2的使用方法详解
2019/09/23 Python
Python 中如何实现参数化测试的方法示例
2019/12/10 Python
Python有参函数使用代码实例
2020/01/06 Python
New Balance法国官方网站:购买鞋子和服装
2019/09/01 全球购物
最好的商品表达自己:Cafepress
2019/09/04 全球购物
Levi’s西班牙官方网站:李维斯,著名的牛仔裤品牌
2020/08/20 全球购物
2014年五一促销活动方案
2014/03/09 职场文书
企业年会主持词
2014/03/27 职场文书
员工合理化建议书
2014/05/19 职场文书
办公室班子四风问题对照检查材料
2014/10/04 职场文书
军训个人总结
2015/03/03 职场文书