龙空技术网

Python的dict和json区别

黄毛丫头成长记 426

前言:

今天你们对“python string 转dict”大体比较重视,你们都需要剖析一些“python string 转dict”的相关资讯。那么小编也在网络上收集了一些关于“python string 转dict””的相关内容,希望小伙伴们能喜欢,朋友们快快来了解一下吧!

大家有没有发现,python中的字典类型的数据结构,和我们目前比较流行的web端的json格式,非常类似,几乎有点分不清了。那么这2者的区别是什么呢?

首先,从概念上,我们要理解这2者是截然不同的。

python中的dict类型是一种数据结构,而json是一种数据格式。json是一种数据格式,就对格式有严格的要求,比如key,value必须用双引号作为边界符,不能用单引号。而python中的dict类型则可以用单引号,也可以用双引号作为边界符。

其次,json和dict的区别对比,可以从以下几点来看出:

json中的key只能是字符串,而dict则可以是任何可hash的对象;json中的key可以是有序,重复的,但dict中的key不可以重复;json中的任意key可以有默认值undefined,但dict中的key没有默认值;json中任何key的访问方式和dict的key的访问方式不同;

总而言之,json本质上还是字符串,只是用key,value这种键值对的方式来表示,而dict则是一种数据结构。

在python中,dict可以转换为json格式,而json格式的字符串,也可以转换为dict。下面我们就用几个程序来看看这2者之间是如何转换的,以及转换之后的区别在哪里?

分别定义就一个字典类型的变量和一个json格式的变量

我们从这2者的定义就可以看出区别,d是一个字典类型的变量数据,j是一个字符串,用单引号引起来的字符串,该字符串内是json格式。那么打印这2者的结果显示是:

打印结果

打印的d是字典数据结构打印,默认是单引号来作为key的边界值,而j则是以json格式打印,必须是双引号作为key,value的边界符。

接下来,我们将二者进行转换:

dict和json的转换

再来看下这2者转换后的打印结果:

第一个是转换为json的打印,第二个是转换为dict的打印

将dict转换为json格式,我们可以指定json格式的显示,比如缩进,分隔符;将json格式的变量转换为dict,默认就是单引号来作为key,value的边界符。

标签: #python string 转dict