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的pandas框架操作Excel文件中的数据教程
Mar 31 Python
Python实现计算两个时间之间相差天数的方法
May 10 Python
python使用fork实现守护进程的方法
Nov 16 Python
Python实现将数据写入netCDF4中的方法示例
Aug 30 Python
python根据list重命名文件夹里的所有文件实例
Oct 25 Python
PyQt QListWidget修改列表项item的行高方法
Jun 20 Python
解决Django migrate不能发现app.models的表问题
Aug 31 Python
Pytorch 实现计算分类器准确率(总分类及子分类)
Jan 18 Python
python烟花效果的代码实例
Feb 25 Python
python实现UDP协议下的文件传输
Mar 20 Python
python Tornado框架的使用示例
Oct 19 Python
Python+Appium自动化测试的实战
Jun 30 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
setcookie中Cannot modify header information-headers already sent by错误的解决方法详解
2013/05/08 PHP
PHP数学运算函数大汇总(经典值得收藏)
2016/04/01 PHP
js获取class的所有元素
2013/03/28 Javascript
javascript生成json数据简单示例分享
2014/02/14 Javascript
JavaScript的jQuery库中function的存在和参数问题
2015/08/13 Javascript
Bootstrap每天必学之导航条
2015/11/27 Javascript
javascript轮播图算法
2016/10/21 Javascript
详解nodejs 文本操作模块-fs模块(一)
2016/12/22 NodeJs
扩展bootstrap的modal模态框-动态添加modal框-弹出多个modal框
2017/02/21 Javascript
VUE开发一个图片轮播的组件示例代码
2017/03/06 Javascript
Bootstrap Table使用整理(四)之工具栏
2017/06/09 Javascript
JS实现点击Radio动态更新table数据
2017/07/18 Javascript
五步轻松实现zTree的使用
2017/11/01 Javascript
JS模拟实现哈希表及应用详解
2018/05/04 Javascript
vue.js引入外部CSS样式和外部JS文件的方法
2019/01/06 Javascript
vue集成一个支持图片缩放拖拽的富文本编辑器
2021/01/29 Vue.js
Python实现Const详解
2015/01/27 Python
Python3中简单的文件操作及两个简单小实例分享
2017/06/18 Python
python 统计列表中不同元素的数量方法
2018/06/29 Python
Python Numpy库安装与基本操作示例
2019/01/08 Python
解决安装pycharm后不能执行python脚本的问题
2019/01/19 Python
pyqt5实现井字棋的示例代码
2020/12/07 Python
HTML5 标准将把互联网视频扔回到黑暗时代
2010/02/10 HTML / CSS
基于第一个PhoneGap(cordova)的应用详解
2013/05/03 HTML / CSS
美国畅销的跑步机品牌:ProForm
2017/02/06 全球购物
欧洲最大的品牌水上运动服装和设备在线零售商:Wuituit Outlet
2018/05/05 全球购物
历史学专业推荐信
2013/11/06 职场文书
淘宝活动策划方案
2014/02/06 职场文书
货车司机岗位职责
2014/03/18 职场文书
反腐倡廉警示教育活动总结
2014/05/05 职场文书
2014群众路线学习笔记
2014/11/06 职场文书
小学语文继续教育研修日志
2015/11/13 职场文书
电力培训学习心得体会
2016/01/11 职场文书
写作技巧:如何撰写一份优秀的营销策划书
2019/08/13 职场文书
2019大学生暑期实习心得总结
2019/08/21 职场文书
Python代码实现双链表
2022/05/25 Python