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安装PIL模块时Unable to find vcvarsall.bat错误的解决方法
Sep 19 Python
详解python中的文件与目录操作
Jul 11 Python
Python从Excel中读取日期一列的方法
Nov 28 Python
使用Python3内置文档高效学习以及官方中文文档
May 19 Python
opencv调整图像亮度对比度的示例代码
Sep 27 Python
Django项目基础配置和基本使用过程解析
Nov 25 Python
Python3.7黑帽编程之病毒篇(基础篇)
Feb 04 Python
VS2019+python3.7+opencv4.1+tensorflow1.13配置详解
Apr 16 Python
Python图像识别+KNN求解数独的实现
Nov 13 Python
python实现scrapy爬虫每天定时抓取数据的示例代码
Jan 27 Python
Python多个MP4合成视频的实现方法
Jul 16 Python
详解Python+OpenCV绘制灰度直方图
Mar 22 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,不用COM,生成excel文件
2006/10/09 PHP
php获得url参数中具有&的值的方法
2014/03/05 PHP
PHP header()函数常用方法总结
2014/04/11 PHP
PHP中shuffle数组值随便排序函数用法
2014/11/21 PHP
深入浅析PHP7.0新特征(五大新特征)
2015/10/29 PHP
php实现的错误处理封装类实例
2017/06/20 PHP
PHP htmlspecialchars() 函数实例代码及用法大全
2018/09/18 PHP
微信小程序发送订阅消息的方法(php 为例)
2019/10/30 PHP
jQuery.Validate验证库的使用介绍
2013/04/26 Javascript
JS执行删除前的判断代码
2014/02/18 Javascript
内容滑动切换效果jquery.hwSlide.js插件封装
2016/07/07 Javascript
jQuery点击弹出层弹出模态框点击模态框消失代码分享
2017/01/21 Javascript
jQuery DateTimePicker 日期和时间插件示例
2017/01/22 Javascript
AngularJS ng-repeat指令及Ajax的应用实例分析
2017/07/06 Javascript
vue.js移动端app之上拉加载以及下拉刷新实战
2017/09/11 Javascript
JS和JQuery实现雪花飘落效果
2017/11/30 jQuery
vue中如何动态绑定图片,vue中通过data返回图片路径的方法
2018/02/07 Javascript
vue-baidu-map 进入页面自动定位的解决方案(推荐)
2018/04/28 Javascript
Vue-cli3项目配置Vue.config.js实战记录
2018/07/29 Javascript
webpack+vue+express(hot)热启动调试简单配置方法
2018/09/19 Javascript
JS实现简易留言板(节点操作)
2020/03/16 Javascript
js重写alert事件(避免alert弹框标题出现网址)
2020/12/04 Javascript
详解ES6实现类的私有变量的几种写法
2021/02/10 Javascript
python list语法学习(带例子)
2013/11/01 Python
python中global与nonlocal比较
2014/11/21 Python
Python爬虫实例扒取2345天气预报
2018/03/04 Python
django反向解析URL和URL命名空间的方法
2018/06/05 Python
Python简单计算给定某一年的某一天是星期几示例
2018/06/27 Python
使用Python抓取豆瓣影评数据的方法
2018/10/17 Python
Python3 Click模块的使用方法详解
2020/02/12 Python
有关pycharm登录github时有的时候会报错connection reset的问题
2020/09/15 Python
利用python实现汉诺塔游戏
2021/03/01 Python
维多利亚的秘密官方网站:Victoria’s Secret
2018/10/24 全球购物
智能室内花园:Click & Grow
2021/01/29 全球购物
优秀员工推荐信
2014/05/10 职场文书
节约能源标语
2014/06/17 职场文书