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网络编程之读取网站根目录实例
Sep 30 Python
python实现将汉字转换成汉语拼音的库
May 05 Python
python 与GO中操作slice,list的方式实例代码
Mar 20 Python
使用Python实现博客上进行自动翻页
Aug 23 Python
python 不以科学计数法输出的方法
Jul 16 Python
python celery分布式任务队列的使用详解
Jul 08 Python
Django model 中设置联合约束和联合索引的方法
Aug 06 Python
Python 网络编程之TCP客户端/服务端功能示例【基于socket套接字】
Oct 12 Python
django 读取图片到页面实例
Mar 27 Python
Python爬虫设置ip代理过程解析
Jul 20 Python
Python爬虫之Selenium实现键盘事件
Dec 04 Python
python 遍历磁盘目录的三种方法
Apr 02 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 date函数参数详解
2006/11/27 PHP
PHP中将网页导出为Word文档的代码
2012/05/25 PHP
PHP中根据IP地址判断城市实现城市切换或跳转代码
2012/09/04 PHP
详解PHP匿名函数与注意事项
2016/03/29 PHP
详解php中的implements 使用
2017/06/13 PHP
Linux基于php-fpm模式的lamp搭建phpmyadmin的方法
2018/10/25 PHP
prototype Element学习笔记(篇二)
2008/10/26 Javascript
关于event.cancelBubble和event.stopPropagation()的区别介绍
2011/12/11 Javascript
写自已的js类库需要的核心代码
2012/07/16 Javascript
JQuery中attr方法和removeAttr方法用法实例
2015/05/18 Javascript
IE7浏览器窗口大小改变事件执行多次bug及IE6/IE7/IE8下resize问题
2015/08/21 Javascript
简单实现的JQuery文本框水印插件
2016/06/14 Javascript
js轮盘抽奖实例分析
2020/04/17 Javascript
js倒计时显示实例
2016/12/11 Javascript
js实现适合新闻类图片的轮播效果
2017/02/05 Javascript
详解vue2.0组件通信各种情况总结与实例分析
2017/03/22 Javascript
Vue父子模版传值及组件传值的三种方法
2017/11/27 Javascript
JS与SQL方式随机生成高强度密码示例
2018/12/29 Javascript
vue改变对象或数组时的刷新机制的方法总结
2019/04/24 Javascript
Vue程序化的事件监听器(实例方案详解)
2020/01/07 Javascript
[32:47]完美世界DOTA2联赛 GXR vs IO 第二场 11.07
2020/11/09 DOTA
在Python中操作文件之seek()方法的使用教程
2015/05/24 Python
python 把数据 json格式输出的实例代码
2016/10/31 Python
Python3中使用PyMongo的方法详解
2017/07/28 Python
详解Python locals()的陷阱
2019/03/26 Python
Python使用微信itchat接口实现查看自己微信的信息功能详解
2019/08/22 Python
python科学计算之scipy——optimize用法
2019/11/25 Python
python3 动态模块导入与全局变量使用实例
2019/12/22 Python
Python3通过chmod修改目录或文件权限的方法示例
2020/06/08 Python
学生实习推荐信范文
2013/11/26 职场文书
2014年司法局工作总结
2014/12/11 职场文书
孩子满月酒答谢词
2015/09/30 职场文书
2016年七夕情人节宣传语
2015/11/25 职场文书
Python 数据可视化之Seaborn详解
2021/11/02 Python
css3应用示例:新增的选择器
2022/03/16 HTML / CSS
Go gorilla securecookie库的安装使用详解
2022/08/14 Golang