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类参数self使用示例
Feb 17 Python
Django中处理出错页面的方法
Jul 15 Python
python常见排序算法基础教程
Apr 13 Python
Python随机生成均匀分布在单位圆内的点代码示例
Nov 13 Python
Python实现的多进程拷贝文件并显示百分比功能示例
Apr 09 Python
使用coverage统计python web项目代码覆盖率的方法详解
Aug 05 Python
更新pip3与pyttsx3文字语音转换的实现方法
Aug 08 Python
Python 在OpenCV里实现仿射变换—坐标变换效果
Aug 30 Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
Mar 01 Python
Pycharm插件(Grep Console)自定义规则输出颜色日志的方法
May 27 Python
Tensorflow中批量读取数据的案列分析及TFRecord文件的打包与读取
Jun 30 Python
Python字典取键、值对的方法步骤
Sep 30 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操作MongoDB GridFS 存储文件的详解
2013/06/20 PHP
PHP连接MySQL查询结果中文显示乱码解决方法
2013/10/25 PHP
php检查是否是ajax请求的方法
2015/04/16 PHP
javascript 中对象的继承〔转贴〕
2007/01/22 Javascript
JS之小练习代码
2008/10/12 Javascript
JavaScript 基础知识 被自己遗忘的
2009/10/15 Javascript
几个javascript操作word的参考代码
2009/10/26 Javascript
Javascript创建Silverlight Plugin以及自定义nonSilverlight和lowSilverlight样式
2010/06/28 Javascript
js innerHTML 改变div内容的方法
2013/08/03 Javascript
javascript实现简单的鼠标拖动效果实例
2015/04/10 Javascript
prototype框架中美元符号$用法分析
2016/01/22 Javascript
assert()函数用法总结(推荐)
2017/01/25 Javascript
手把手教你vue-cli单页到多页应用的方法
2018/05/31 Javascript
JS实现网页端猜数字小游戏
2020/03/06 Javascript
vuex管理状态仓库使用详解
2020/07/29 Javascript
Vue将props值实时传递 并可修改的操作
2020/08/09 Javascript
js实现删除json中指定的元素
2020/09/22 Javascript
vue-video-player 断点续播的实现
2021/02/01 Vue.js
Python科学计算环境推荐——Anaconda
2014/06/30 Python
Python通过matplotlib画双层饼图及环形图简单示例
2017/12/15 Python
Python实现FM算法解析
2019/06/18 Python
python 根据字典的键值进行排序的方法
2019/07/24 Python
如何通过python的fabric包完成代码上传部署
2019/07/29 Python
python实现读取类别频数数据画水平条形图案例
2020/04/24 Python
python实现猜单词游戏
2020/05/22 Python
PythonPC客户端自动化实现原理(pywinauto)
2020/05/28 Python
CSS3教程(2):网页边框半径和网页圆角
2009/04/02 HTML / CSS
移动端Html5中百度地图的点击事件
2019/01/31 HTML / CSS
澳大利亚领先的睡衣品牌:Peter Alexander
2016/08/16 全球购物
英国在线定制百叶窗网站:Swift Direct Blinds
2020/02/25 全球购物
bonprix荷兰网上商店:便宜的服装、鞋子和家居用品
2020/07/04 全球购物
售后主管岗位职责
2013/12/08 职场文书
大学生军训广播稿
2014/01/24 职场文书
总经理人事任命书
2014/06/05 职场文书
我的中国梦演讲稿初中篇
2014/08/19 职场文书
Python 文字识别
2022/05/11 Python