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中的各种装饰器详解
Apr 11 Python
Python使用metaclass实现Singleton模式的方法
May 05 Python
Python正则表达式匹配中文用法示例
Jan 17 Python
Python sqlite3事务处理方法实例分析
Jun 19 Python
快速查询Python文档方法分享
Dec 27 Python
pandas求两个表格不相交的集合方法
Dec 08 Python
Python3.5多进程原理与用法实例分析
Apr 05 Python
python实现nao机器人身体躯干和腿部动作操作
Apr 29 Python
为什么说Python可以实现所有的算法
Oct 04 Python
利用matplotlib为图片上添加触发事件进行交互
Apr 23 Python
python SOCKET编程基础入门
Feb 27 Python
python神经网络学习 使用Keras进行简单分类
May 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
PHP_MySQL教程-第一天
2007/03/18 PHP
使用PHPMailer实现邮件发送代码分享
2014/10/23 PHP
PHP合并discuz用户脚本的方法
2015/08/04 PHP
javascript new一个对象的实质
2010/01/07 Javascript
JavaScript 打地鼠游戏代码说明
2010/10/12 Javascript
jQuery UI的Dialog无法提交问题的解决方法
2011/01/11 Javascript
cookie中的path与domain属性详解
2013/12/18 Javascript
javascript自动给文本url地址增加链接的方法分享
2014/01/20 Javascript
JavaScript中的toDateString()方法使用详解
2015/06/12 Javascript
JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)
2016/06/21 Javascript
jQuery EasyUI学习教程之datagrid点击列表头排序
2016/07/09 Javascript
扩展bootstrap的modal模态框-动态添加modal框-弹出多个modal框
2017/02/21 Javascript
nodejs+express实现文件上传下载管理网站
2017/03/15 NodeJs
EasyUI中的dataGrid的行内编辑
2017/06/22 Javascript
通过vue-cli来学习修改Webpack多环境配置和发布问题
2017/12/22 Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
2018/03/03 Javascript
react build 后打包发布总结
2018/08/24 Javascript
jquery获取file表单选择文件的路径、名字、大小、类型
2019/01/18 jQuery
原生JS实现烟花效果
2020/03/10 Javascript
python thread 并发且顺序运行示例
2009/04/09 Python
小议Python中自定义函数的可变参数的使用及注意点
2016/06/21 Python
python3 拼接字符串的7种方法
2018/09/12 Python
Python-copy()与deepcopy()区别详解
2019/07/12 Python
Pandas0.25来了千万别错过这10大好用的新功能
2019/08/07 Python
Python使用ffmpy将amr格式的音频转化为mp3格式的例子
2019/08/08 Python
Python 时间戳之获取整点凌晨时间戳的操作方法
2020/01/28 Python
Python3内置函数chr和ord实现进制转换
2020/06/05 Python
解决PyCharm IDE环境下,执行unittest不生成测试报告的问题
2020/09/03 Python
英国儿童设计师服装的领先零售商:Base
2019/03/17 全球购物
KIKO MILANO俄罗斯官网:意大利领先的化妆品和护肤品品牌
2021/01/09 全球购物
Can a struct inherit from another class? (结构体能继承类吗)
2014/07/22 面试题
旷课检讨书1000字
2014/02/14 职场文书
网络信息安全承诺书
2014/03/26 职场文书
经济担保书范文
2014/04/02 职场文书
地球一小时倡议书
2014/04/15 职场文书
纪念九一八事变演讲稿:忘记意味着背叛
2014/09/14 职场文书