15.python json模块

最后更新于:2019-11-23 10:15:06

JSON 的全称是 JavaScript Object Notation,即 JavaScript 对象符号,它是一种轻量级、跨平台、跨语言的数据交换格式,其设计意图是把所有事情都用设计的字符串来表示,这样既方便在互联网上传递信息,也方便人进行阅读。

JSON 主要在类似于C 的编程语言中广泛使用,这些语言包括 C、C++、C#、Java、JavaScript、Perl、Python 等。JSON 提供了多种语言之间完成数据交换的能力,因此,JSON 也是一种非常理想的数据交换格式。

json

一.python json模块简介

json 模块提供了对 JSON 的支持,它既包含了将 JSON 字符串恢复成 Python 对象的函数,也提供了将 Python 对象转换成 JSON 字符串的函数。

json.dumps() — json模块里的dumps函数是对数据进行编码,形成json格式的数据;

json.loads() — loads函数则是将json格式的数据解码,转换为Python字典;

python-json

二.json转换到python

 

json转python

 

输出结果:

注意:data_str 是json字符串,并非字典也并非字符串str

 

三.python转换到json

 

python转json

 

在使用dump/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.dump()和 json.load()

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

 

 

猜你喜欢:

1.python time模块

2.python sys模块

3.python不定长参数*argc,**kargcs

4.python匿名函数lambda

5.python递归函数

6.python异常处理

 

转载请注明猿说Python » python json模块

 

技术交流、商务合作请直接联系博主
扫码或搜索:猿说python
python教程公众号
猿说python
微信公众号 扫一扫关注