python的json怎么用


本文摘自php中文网,作者(*-*)浩,侵删。

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

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

json.dumps()

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

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之间用“:”隔开;

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怎么用的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python和163邮箱授权码发送邮件的分析与实现(代码)

Python中文输出报错解决方案(实例教程)

Python如何设置背景色

详解Python使用回溯法子集树模板解决迷宫问题

Python笔试题之设计“跳一跳”小游戏计分器

Python析构函数与构造函数的用法讲解

Python中文件的读取和写入操作

Python是汇编语言吗

Python怎么计数

Python数据分析要学什么数学

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...