一、语言不同:
json:是JavaScript的一种数据格式,是字符串
dict:是Python的一种数据格式
二、语法规则不同:
json:
1.json键值对使用的引号只能是双引号;
2.json的key是有序的、可重复的;
3.json的key只能是字符串;
4. json的key存在默认值,undefined
5. json中的布尔值写法为 true、false
6. json中的空值为空时,写法为:null (这里不是指:{“key1”:" “}这样的情况)
7. json的value不能直接通过下标访问(可以借助第三方库jsonpath进行数据访问),也不能通过key[“value”]访问
dict:
1.dict的键值对可以使用单引号,也可以使用双引号
2.dict是无序的,且key必须保持唯一
3.dict的key可以为字符串、元组、数字等不可变的对象
4.dict的key无默认值
5.dict的布尔值写法为True、False
6.dict的value为空时,写法为:None (这里不是指:{“key1”:” "}这样的情况)
7.dict可以通过for循环访问,可以通过key[“value”]访问的方式访问对应key的值
拓展:json与dict格式区别图解
三、json与dict相互转换:(反序列化和序列化,我平时主要用的是json第三方库,还有一种pickle,大家可以了解一下)
前提:导入第三方库:import json
反序列化:将json字符串转换为Python对象
1.json.loads(json字符串):针对内存对象,将string转换为dict (将string转换为dict)
2.json.load(open(‘demo.json’,‘r’)):针对文件,将json格式的字符转换为dict,从文件中读取 (将string转换为dict)
序列化:将Python对象转换成字符串
1.json.dumps(Python对象):针对内存对象,将python对象转换为字符串
2.json.dump(python对象,open(‘demo.json’, ‘w’)):将dict类型转换为json字符串格式,写入到文件
-----------------------------------------------------------学海无涯
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)