一、语言不同: 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字符串格式,写入到文件
-----------------------------------------------------------学海无涯
|