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实现socket端口重定向示例
Feb 10 Python
在Gnumeric下使用Python脚本操作表格的教程
Apr 14 Python
python判断一个数是否能被另一个整数整除的实例
Dec 12 Python
python画图把时间作为横坐标的方法
Jul 07 Python
Django的Modelforms用法简介
Jul 27 Python
Python中Subprocess的不同函数解析
Dec 10 Python
python3中pip3安装出错,找不到SSL的解决方式
Dec 12 Python
Python正则表达式急速入门(小结)
Dec 16 Python
Pytorch之parameters的使用
Dec 31 Python
tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式
Feb 07 Python
Ubuntu20下的Django安装的方法步骤
Jan 24 Python
Python 的演示平台支持 WSGI 接口的应用
Apr 20 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中使用cookie来保存用户登录信息的实现代码
2012/03/08 PHP
web站点获取用户IP的安全方法 HTTP_X_FORWARDED_FOR检验
2013/06/01 PHP
ThinkPHP入库出现两次反斜线转义及数据库类转义的解决方法
2014/11/04 PHP
PHP中把有符号整型转换为无符号整型方法
2015/05/27 PHP
php统计数组元素个数的方法
2015/07/02 PHP
打开超链需要“确认”对话框的方法
2007/03/08 Javascript
浅谈JS日期(Date)处理函数
2014/12/07 Javascript
jquery实现隐藏在左侧的弹性弹出菜单效果
2015/09/18 Javascript
基于JavaScript代码实现随机漂浮图片广告
2016/01/05 Javascript
基于Jquery插件Uploadify实现实时显示进度条上传图片
2020/03/26 Javascript
深入理解jQuery 事件处理
2016/06/14 Javascript
利用jQuery实现滑动开关按钮效果(附demo源码下载)
2017/02/07 Javascript
jQuery插件HighCharts绘制2D金字塔图效果示例【附demo源码下载】
2017/03/09 Javascript
浅谈angular4实际项目搭建总结
2017/12/01 Javascript
vue引入js数字小键盘的实现代码
2018/05/14 Javascript
JavaScript递归函数解“汉诺塔”算法代码解析
2018/07/05 Javascript
原生js实现公告滚动效果
2021/01/10 Javascript
如何利用JavaScript编写一个格斗小游戏
2021/01/06 Javascript
[02:09]2018DOTA2亚洲邀请赛TNC赛前采访
2018/04/04 DOTA
python 系统调用的实例详解
2017/07/11 Python
Python实现的tcp端口检测操作示例
2018/07/24 Python
pandas factorize实现将字符串特征转化为数字特征
2019/12/19 Python
python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细使用方法与实例
2020/02/27 Python
Python基础类继承重写实现原理解析
2020/04/03 Python
python中str内置函数用法总结
2020/12/27 Python
施华洛世奇天猫官方旗舰店:SWAROVSKI
2017/04/17 全球购物
中文专业毕业生自荐书范文
2014/01/04 职场文书
初一生物教学反思
2014/01/18 职场文书
市场营销专业大学生职业生涯规划文
2014/03/06 职场文书
公司踏青活动方案
2014/08/16 职场文书
推广活动策划方案
2014/08/23 职场文书
大学生创业计划书怎么写
2014/09/15 职场文书
卖车协议书范本4篇
2014/10/01 职场文书
工作证明格式范文
2015/06/15 职场文书
2016幼儿园新学期寄语
2015/12/03 职场文书
Django使用channels + websocket打造在线聊天室
2021/05/20 Python