python中json和dict对比
工作中和其他语言的工程师交流,合作与联调中经常会涉及到数据的传输,这个数据的传输通常为json字符串,而json格式数据和python自身的dict数据对象相似。
范例
import json
dic = {'a': '123', 'b': '琪露悠', 'c': None, 'd': True} # 定义一个字典
dic2js = json.dumps(dic) # 字典转换为json
print(dic)
print(dic2js)
print(type(dic))
print(type(dic2js))
输出
{'a': '123', 'b': '琪露悠', 'c': None, 'd': True}
{"a": "123", "b": "\u742a\u9732\u60a0", "c": null, "d": true}
<class 'dict'>
<class 'str'>
python中json和dict的基本区别
- json的key只能是字符串,python的dict可以是任何可hash对象。
- 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的类型是字符串,字典的类型是字典。
json部分用法
-
json.dumps(),json.loads()用来编码和解码json字符串数据。
-
json.dump(),json.load()用来处理文件。
参考
https://zhuanlan.zhihu.com/p/67020114
python json菜鸟教程
python dict菜鸟教程