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实现360的字符显示界面
Feb 21 Python
跟老齐学Python之通过Python连接数据库
Oct 28 Python
python中的__slots__使用示例
Feb 26 Python
Python函数中*args和**kwargs来传递变长参数的用法
Jan 26 Python
深入解析Python中函数的参数与作用域
Mar 20 Python
Python采用Django制作简易的知乎日报API
Aug 03 Python
python 爬虫 批量获取代理ip的实例代码
May 22 Python
python爬取个性签名的方法
Jun 17 Python
DRF跨域后端解决之django-cors-headers的使用
Jan 27 Python
Python中使用双下划线防止类属性被覆盖问题
Jun 27 Python
django使用多个数据库的方法实例
Mar 04 Python
python字典进行运算原理及实例分享
Aug 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一些有意思的小区别
2006/12/06 PHP
使用新浪微博API的OAuth认证发布微博实例
2015/03/27 PHP
thinkphp5 URL和路由的功能详解与实例
2017/12/26 PHP
laravel 使用事件系统统计浏览量的实现
2019/10/16 PHP
jquery png 透明解决方案(推荐)
2010/08/21 Javascript
jquery $.fn $.fx是什么意思有什么用
2013/11/04 Javascript
jquery内置验证(validate)使用方法示例(表单验证)
2013/12/04 Javascript
js实现头像图片切割缩放及无刷新上传图片的方法
2015/07/17 Javascript
JS版元素周期表实现方法
2015/08/05 Javascript
基于jquery实现图片上传本地预览功能
2016/01/08 Javascript
javascript实现圣旨卷轴展开效果(代码分享)
2017/03/23 Javascript
详解nodejs实现本地上传图片并预览功能(express4.0+)
2017/06/28 NodeJs
详解js静态资源文件请求的处理
2017/08/01 Javascript
JS实现利用两个队列表示一个栈的方法
2017/12/13 Javascript
JavaScript基础心法 数据类型
2018/03/05 Javascript
JS前后端实现身份证号验证代码解析
2020/07/23 Javascript
kNN算法python实现和简单数字识别的方法
2014/11/18 Python
一个基于flask的web应用诞生 flask和mysql相连(4)
2017/04/11 Python
Python实现二维数组按照某行或列排序的方法【numpy lexsort】
2017/09/22 Python
Python内建函数之raw_input()与input()代码解析
2017/10/26 Python
python3.x实现发送邮件功能
2018/05/22 Python
python3.5基于TCP实现文件传输
2020/03/20 Python
python中rc1什么意思
2020/06/19 Python
VSCode 自定义html5模板的实现
2019/12/05 HTML / CSS
洲际酒店集团美国官网:IHG美国
2017/11/16 全球购物
Spartoo荷兰:鞋子、包包和服装
2018/07/12 全球购物
女士鞋子、包包和服装在线,第一款10美元:ShoeDazzle
2019/07/26 全球购物
《自然之道》教学反思
2014/02/11 职场文书
警校毕业生自我评价
2014/04/06 职场文书
消防安全宣传口号
2014/06/10 职场文书
高效课堂标语
2014/06/26 职场文书
大学生党员个人剖析材料
2014/10/08 职场文书
教师党员自我评价范文
2015/03/04 职场文书
辩护词格式
2015/05/22 职场文书
新生儿未入户证明
2015/06/23 职场文书
2015中秋节晚会开场白
2015/07/30 职场文书