python中的字典和json的区别
字典
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:
d = {key1 : value1, key2 : value2 }
一个简单的字典实例:
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住。
2)键必须不可变,所以可以用数字,字符串,True,False或元组充当key,所以用列表就不行。
PDict = {"tianpin":80,"yujiao":90}
get方法如果key不存在 返回None
json
通过抓包以 JSON Text形式查看的JSON数据实例如下:
{ "studentInfo": { "id":123456, "stu_name":"Dorra" } }
json:是一种数据格式,是纯字符串。可以被解析成Python的dict或者其他形式。
dict:是一个完整的数据结构,是对Hash Table这一数据结构的一种实现,是一套从存储到提取都封装好了的方案。
区别:
- json的key只能是字符串,python的dict可以是任何可hash对象(hashtable type)。
- json的key可以是有序、重复的;dict的key不可以重复。
- json的value只能是字符串、浮点数、布尔值或者null,或者它们构成的数组或者对象。
- json任意key存在默认值undefined,dict默认没有默认值。
- json访问方式可以是[],也可以是.,遍历方式分in、of;dict的value仅可以下标访问。
- json的字符串强制双引号,dict字符串可以单引号、双引号。
- dict可以嵌套tuple,json里只有数组。
- json:true、false、null。
- python:True、False、None。
- json中文必须是unicode编码,如"\u6211"。
- json的类型是字符串,字典的类型是字典。