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实现遍历数据库并获取key的值
May 17 Python
使用Python对Excel进行读写操作
Mar 30 Python
Python3编程实现获取阿里云ECS实例及监控的方法
Aug 18 Python
pandas object格式转float64格式的方法
Apr 10 Python
Python3实现的判断回文链表算法示例
Mar 08 Python
详解pytorch 0.4.0迁移指南
Jun 16 Python
Python实现获取系统临时目录及临时文件的方法示例
Jun 26 Python
python使用requests.session模拟登录
Aug 09 Python
Pytorch实现GoogLeNet的方法
Aug 18 Python
Windows平台Python编程必会模块之pywin32介绍
Oct 01 Python
Python类的绑定方法和非绑定方法实例解析
Mar 04 Python
对Keras自带Loss Function的深入研究
May 25 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生成的html meta和link标记在body标签里 顶部有个空行
2010/05/18 PHP
PHP+memcache实现消息队列案例分享
2014/05/21 PHP
PHP数组常用函数实例小结
2018/08/20 PHP
关于图片验证码设计的思考
2007/01/29 Javascript
不错的JS中变量相关的细节分析
2007/08/13 Javascript
Jquery判断IE6等浏览器的代码
2011/04/05 Javascript
jQuery代码优化 遍历篇
2011/11/01 Javascript
ASP.NET jQuery 实例6 (实现CheckBoxList成员全选或全取消)
2012/01/13 Javascript
Jquery实现弹出层分享微博插件具备动画效果
2013/04/03 Javascript
在javascript中实现函数数组的方法
2013/12/25 Javascript
div失去焦点事件实现思路
2014/04/22 Javascript
删除条目时弹出的确认对话框
2014/06/05 Javascript
教你如何在 Javascript 文件里使用 .Net MVC Razor 语法
2014/07/23 Javascript
基于jQuery实现放大镜特效
2020/10/19 Javascript
浅谈JavaScript中的this指针和引用知识
2016/08/05 Javascript
JavaScript通过改变文字透明度实现的文字闪烁效果实例
2017/04/27 Javascript
Vue实现侧边菜单栏手风琴效果实例代码
2018/05/31 Javascript
JS栈stack类的实现与使用方法示例
2019/01/31 Javascript
JavaScript获取某一天所在的星期
2019/09/05 Javascript
优雅的使用javascript递归画一棵结构树示例代码
2019/09/22 Javascript
async/await让异步操作同步执行的方法详解
2019/11/01 Javascript
微信小程序实现发微博功能的示例代码
2020/06/24 Javascript
vue3使用vue-count-to组件的实现
2020/12/25 Vue.js
[06:53]2018DOTA2国际邀请赛寻真——为复仇而来的Newbee
2018/08/15 DOTA
PyQt弹出式对话框的常用方法及标准按钮类型
2019/02/27 Python
使用Python实现毫秒级抢单功能
2019/06/06 Python
PyQt4实时显示文本内容GUI的示例
2019/06/14 Python
Python使用正则表达式分割字符串的实现方法
2019/07/16 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
2019/08/12 Python
基于Python实现拆分和合并GIF动态图
2019/10/22 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
2020/02/21 Python
Python collections.defaultdict模块用法详解
2020/06/18 Python
html5开发之viewport使用
2013/10/17 HTML / CSS
Html5实现文件异步上传功能
2017/05/19 HTML / CSS
计算机专业学生的自我评价
2013/12/15 职场文书
政府四风问题整改措施
2014/10/04 职场文书