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实现ipsec开权限实例
Nov 11 Python
Python查询IP地址归属完整代码
Jun 21 Python
对Python 2.7 pandas 中的read_excel详解
May 04 Python
celery4+django2定时任务的实现代码
Dec 23 Python
python实现逐个读取txt字符并修改
Dec 24 Python
python实现dijkstra最短路由算法
Jan 17 Python
pycharm修改文件的默认打开方式的步骤
Jul 29 Python
python实现的多任务版udp聊天器功能案例
Nov 13 Python
Flask项目中实现短信验证码和邮箱验证码功能
Dec 05 Python
python全局变量引用与修改过程解析
Jan 07 Python
tensorflow实现对张量数据的切片操作方式
Jan 19 Python
Python3.x+pyqtgraph实现数据可视化教程
Mar 14 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得到某段时间区间的时间戳 php定时任务
2012/04/12 PHP
QQ互联一键登录审核不通过的解决方案
2014/09/10 PHP
PHP函数extension_loaded()用法实例
2015/01/19 PHP
PHP+Mysql+jQuery查询和列表框选择操作实例讲解
2015/10/22 PHP
PHP 数组基本操作方法详解
2016/06/17 PHP
thinkphp自带验证码全面解析
2016/09/18 PHP
php微信公众号js-sdk开发应用
2016/11/28 PHP
PHP切割整数工具类似微信红包金额分配的思路详解
2019/09/18 PHP
$.ajax json数据传递方法
2008/11/19 Javascript
asp.net下利用js实现返回上一页的实现方法小集
2009/11/24 Javascript
用js实现的模拟jquery的animate自定义动画(2.5K)
2010/07/20 Javascript
firefox下input type="file"的size是多大
2011/10/24 Javascript
使用Js让Html中特殊字符不被转义
2013/11/05 Javascript
jquery链式操作的正确使用方法
2014/01/06 Javascript
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
2017/04/24 Javascript
Vue中组件之间数据的传递的示例代码
2017/09/08 Javascript
bootstrap3中container与container_fluid外层容器的区别讲解
2017/12/04 Javascript
nuxt中使用路由守卫的方法步骤
2019/01/27 Javascript
layui 对table中的数据进行转义的实例
2019/09/12 Javascript
Vue.directive 实现元素scroll逻辑复用
2019/11/29 Javascript
Python爬取京东的商品分类与链接
2016/08/26 Python
浅谈function(函数)中的动态参数
2017/04/30 Python
浅谈Python基础之I/O模型
2017/05/11 Python
Linux下安装python3.6和第三方库的教程详解
2018/11/09 Python
Python 内置函数globals()和locals()对比详解
2019/12/23 Python
Django 自定义404 500等错误页面的实现
2020/03/08 Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
2020/06/02 Python
解决Pycharm 中遇到Unresolved reference 'sklearn'的问题
2020/07/13 Python
python实现三壶谜题的示例详解
2020/11/02 Python
html5教程画矩形代码分享
2013/12/04 HTML / CSS
车辆维修工自我评价怎么写
2013/09/20 职场文书
毕业生机械建模求职信
2013/10/14 职场文书
差生评语大全
2014/05/04 职场文书
幼儿园户外活动总结
2014/07/04 职场文书
自查自纠整改报告
2014/11/06 职场文书
高三英语教学计划
2015/01/23 职场文书