Python(十九)python字典和json的区别

简介: 简单粗暴地说,字典是一种数据结构,而json是一种数据格式(纯字符串),可以被解析成Python的dict或者其他形式。一. python的字典和json字符串的区别python中,json和dict非常类似,都是key-value的形式,而且json和dict也可以非常方便的通过dumps和loads互转,但是它们之间还是有区别的:json:是一种数据格式,是纯字符串。可以被解析成python的dict或其他形式。dict:是一个完整的数据结构,是对hash table这一数据结构的实现,是一套从存储到提取都封装好的方案。它使用内置的hash函数来规划key对应的value的存储位置

简单粗暴地说,字典是一种数据结构,而json是一种数据格式(纯字符串),可以被解析成Python的dict或者其他形式。

一. python的字典和json字符串的区别

python中,json和dict非常类似,都是key-value的形式,而且json和dict也可以非常方便的通过dumps和loads互转,但是它们之间还是有区别的:

json:是一种数据格式,是纯字符串。可以被解析成python的dict或其他形式。

dict:是一个完整的数据结构,是对hash table这一数据结构的实现,是一套从存储到提取都封装好的方案。它使用内置的hash函数来规划key对应的value的存储位置,从而获得O(1)的数据读取速度。

 二. json和dict对比:

1)json的key只能是字符串,dict的key可以是任何可hash的对象,例如:字符串、数字、元组等。

2)json的key可以是有序、重复的;dict的key不可重复;

3)json的value只能是字符串、浮点数、布尔值或者null,或者它们构成的数组或者对象;

4)json任意key存在默认值undefined,dict默认没有默认值;

5)json访问方式可以是[],也可以是.,遍历方式分in,of; dict的value仅仅可以下标访问;

6)json的字符串强制用双引号,dict的字符串可以用单引号、双引号;

7)dict可以嵌套tuple,json里只有数组

8)json:true、false、null

9)dict:True、False、None

10)json中文必须是unicode编码,如“\u6211”

11)json的类型时字符串,字典的类型是dict

三. 示例:

python

复制代码

import json  
dic = {"name": "王五", "age":29, "is_male":False, "school":None}  
print(type(dic))  
# 字典转json  
my_json = json.dumps(dic)  
print(type(my_json))  
# json 转字典  
dict_qq = json.loads(my_json)  
print(dict_qq)  
print(type(dict_qq))

 

输出:

python

复制代码

<class 'dict'>
<class 'str'>
{'name': '王五', 'age': 29, 'is_male': False, 'school': None}
<class 'dict'>

 

最后做一下总结:

json:是一种数据格式,是纯字符串。可以被解析成Python的dict或者其他形式。

dict:是一个完整的数据结构,是对Hash Table这一数据结构的一种实现,是一套从存储到提取都封装好了的方案。它使用内置的哈希函数来规划key对应value的存储位置,从而获得O(1)的数据读取速度。

 

有好的建议,请在下方输入你的评论。

目录
相关文章
|
2天前
|
JSON 数据可视化 定位技术
python_将包含汉字的字典数据写入json(将datav的全省数据中的贵州区域数据取出来)
python_将包含汉字的字典数据写入json(将datav的全省数据中的贵州区域数据取出来)
7 0
|
4天前
|
JSON 数据格式 索引
python 又一个点运算符操作的字典库:Munch
python 又一个点运算符操作的字典库:Munch
21 0
|
11天前
|
JSON API 数据格式
python的request库如何拿到json的返回值
python的request库如何拿到json的返回值
10 0
|
13天前
|
存储 JSON NoSQL
MongoDB的文档存储格式BSON和JSON的区别
MongoDB的文档存储格式BSON和JSON的区别
|
15天前
|
存储 JSON JavaScript
「Python系列」Python JSON数据解析
在Python中解析JSON数据通常使用`json`模块。`json`模块提供了将JSON格式的数据转换为Python对象(如列表、字典等)以及将Python对象转换为JSON格式的数据的方法。
31 0
|
16天前
|
安全 Python
python字典的内置方法
Python字典主要方法包括:`keys()`(返回所有键)、`values()`(返回所有值)、`items()`(返回所有键值对)、`get()`(安全取值,键不存在时返回默认值)、`setdefault()`(设置默认值)、`update()`(合并字典)、`pop()`(删除并返回值)、`clear()`(清空字典)、`copy()`(浅拷贝)、`fromkeys()`(新建字典并设置默认值)、`popitem()`(随机删除键值对)。
8 0
|
19天前
|
存储 JSON 数据挖掘
python逐行读取txt文本中的json数据,并进行处理
Python代码示例演示了如何读取txt文件中的JSON数据并处理。首先,逐行打开文件,然后使用`json.loads()`解析每一行。接着,处理JSON数据,如打印特定字段`name`。异常处理包括捕获`JSONDecodeError`和`KeyError`,确保数据有效性和字段完整性。将`data.txt`替换为实际文件路径运行示例。
14 2
|
25天前
|
人工智能 机器人 测试技术
【Python】Python迭代器与生成器的区别(详细讲解)
【Python】Python迭代器与生成器的区别(详细讲解)
【Python】Python迭代器与生成器的区别(详细讲解)
|
25天前
|
存储 Java 程序员
【Python】6. 基础语法(4) -- 列表+元组+字典篇
【Python】6. 基础语法(4) -- 列表+元组+字典篇
41 1
|
4月前
|
存储 Python
python字典中删除键值的方法
python字典中删除键值的方法
103 0