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的类型是字符串,字典的类型是字典。