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群发邮件实例代码
Jan 03 Python
初步探究Python程序的执行原理
Apr 11 Python
python3中获取文件当前绝对路径的两种方法
Apr 26 Python
python脚本监控Tomcat服务器的方法
Jul 06 Python
Sanic框架异常处理与中间件操作实例分析
Jul 16 Python
Python pyinotify模块实现对文档的实时监控功能方法
Oct 13 Python
python判断完全平方数的方法
Nov 13 Python
pyqt5 获取显示器的分辨率的方法
Jun 18 Python
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
Jul 22 Python
python+opencv实现移动侦测(帧差法)
Mar 20 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
Mar 30 Python
Python实现微信表情包炸群功能
Jan 28 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 取得瑞年与平年的天数的代码
2009/08/10 PHP
php 获取当前访问的url文件名的方法小结
2010/02/08 PHP
php通过strpos查找字符串出现位置的方法
2015/03/17 PHP
php模拟post提交请求调用接口示例解析
2020/08/07 PHP
学习js所必须要知道的一些
2007/03/07 Javascript
鼠标右击事件代码(asp.net后台)
2011/01/27 Javascript
动态添加option及createElement使用示例
2014/01/26 Javascript
对于Form表单reset方法的新认识
2014/03/05 Javascript
Jquery实现自定义窗口随意的拖拽
2014/03/12 Javascript
Jquery $when done then的用法详解
2016/05/20 Javascript
微信小程序开发之大转盘 仿天猫超市抽奖实例
2016/12/08 Javascript
React Native之prop-types进行属性确认详解
2017/12/19 Javascript
vue使用pdfjs显示PDF可复制的实现方法
2018/12/14 Javascript
Element Breadcrumb 面包屑的使用方法
2020/07/26 Javascript
Python只用40行代码编写的计算器实例
2017/05/10 Python
Python实现PS图像抽象画风效果的方法
2018/01/23 Python
Python爬虫实例扒取2345天气预报
2018/03/04 Python
创建pycharm的自定义python模板方法
2018/05/23 Python
在python中使用requests 模拟浏览器发送请求数据的方法
2018/12/26 Python
40个你可能不知道的Python技巧附代码
2020/01/29 Python
python sklearn包——混淆矩阵、分类报告等自动生成方式
2020/02/28 Python
Python编写memcached启动脚本代码实例
2020/08/14 Python
Python random模块的使用示例
2020/10/10 Python
Python os库常用操作代码汇总
2020/11/03 Python
CSS3让登陆面板3D旋转起来
2016/05/03 HTML / CSS
安德玛比利时官网:Under Armour比利时
2019/08/28 全球购物
linux面试题参考答案(11)
2016/11/26 面试题
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
2012/05/30 面试题
幼儿园六一儿童节文艺汇演主持词
2014/03/21 职场文书
入党思想汇报怎么写
2014/04/03 职场文书
董事长助理工作职责
2014/06/08 职场文书
校长新学期致辞
2015/07/30 职场文书
《角的初步认识》教学反思
2016/02/17 职场文书
实习报告范文
2019/07/30 职场文书
创业计划书之都市休闲农庄
2019/12/28 职场文书
pytorch DataLoader的num_workers参数与设置大小详解
2021/05/28 Python