python的json怎么用

(*-*)浩
发布: 2019-05-20 20:02:37
原创
5167人浏览过

json(javascript object notation)它是一种轻量级的数据交换格式,具有数据格式简单,读写方便易懂等很多优点。许多主流的编程语言都在用它来进行前后端的数据传输,大大的简化了服务器和客户端的开发工作量。相对于xml来说,更加的轻量级,更方便解析,因此许多开发者都遵循json格式来进行数据的传输和交换。今天我们详细介绍一下python在json的编解码方面的知识。

python的json怎么用

强大的Python提供了一个“json”模块,可以方便的将各种零散的数据通过模块的内置函数编码形成一个json格式的数据,也可以将一个json格式的数据解码形成自己需要的数据,非常好用,下面我们就来介绍一下。

json.dumps()

json模块里的dumps函数是对数据进行编码,形成json格式的数据,我们看一下下面的例子:

立即学习Python免费学习笔记(深入)”;

python-1.jpg

通过输出的结果很容易看出,通过dumps方法使字典转换成为了json格式,虽然它们非常相似。其中,在dumps里的参数“sort_keys=True”,使得输出json后对key和value进行0~9、a~z的顺序排序,如果不填,则按照无序排列。有时候,通过排序可以方便地比较json中的数据,因此,适当的排序是很有必要的。

此外,“Indent”参数表示缩进的意思,它可以使得输出的Json看起来更加整齐好看,可读性更强,例如:

python.jpg

下面列举一下dumps()的可填参数:

skipkey:默认为False,当dict对象里的数据不是Python的基本数据类型;(str,unicode,int,long,float,bool,None)时,当skipkey为False,就会报错,如果skipkey为True,则可以跳过这类key;

indent:如果填0或者不填,则按照一行进行打印,否则按照indent的数值显示前面的空格(正整数形式);

separators:分隔符,默认为“(',',':')”,它表示key之间用“,”隔开,key和value之间用“:”隔开;

Find JSON Path Online
Find JSON Path Online

Easily find JSON paths within JSON objects using our intuitive Json Path Finder

Find JSON Path Online 30
查看详情 Find JSON Path Online

encoding:编码格式,默认值是UTF-8;

sort_keys:对key、value进行排序,默认值是False,即不排序;

ensure_ascii:默认为True,如果dict对象里含有none-ASCII的字符,则显示\uXX的格式,如果为False,则能正常显示出来;

json.loads()

和dumps相反,loads函数则是将json格式的数据解码,转换为Python字典,我们看一下下面的例子:

python-2.jpg

有时候,输出结果遇到中文的时候,会出现编码格式不一样的情况,显示出为Unicode的编码格式,使得不易读懂,解决办法是添加参数“encoding”参数,即上面的改写成这样:d1 = json.loads(data1,encoding='utf-8')即可。

json.dump()和 json.load()

相对于上面所讲的dumps和loads来说,dump和load函数的功能类似,只不过前者是用来处理字符串类型的,而后者是用于处理文件类型的,如下所示:

python-4.jpg

上例列举出了json的四个方法:dumps()和dump()、loads()和load()的简单使用方法,可见,Python对于json的处理相当方便,不像c++那样(谁用谁知道)。

以上就是python的json怎么用的详细内容,更多请关注php中文网其它相关文章!

相关标签:
python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号