json和字典的区别

"""
import json
"""
python: None
java/javascript: null(python不认识。如果响应结果当中有null, 需要转换成None)

字典:数据类型。
json: 数据格式。 json格式的字符串

内置库:json
json.loads() 把json串,转换成python字典
json.dumps() 把python字典,转换成json串

关于requests处理json参数的文章:
https://www.cnblogs.com/Simple-Small/p/9830270.html

"""

req_data = '{"mobile_phone": "18610100022","pwd": "123456789","reg_name": "py37小简", "test": null}'
req_dict = json.loads(req_data)
print(type(req_dict))
print(req_dict)
# req_dict_eval = eval(req_data) # eval无法自动处理null


json格式和字典格式定义,相互转换
序列化:变量从内存中变成可存储或传输的过程 (对象变字符串)
1. load 和 loads(反序列化)
load:针对文件句柄,将json格式的字符转换为dict,从文件中读取 (将string转换为dict)
a_json = json.load(open('demo.json','r'))

loads:针对内存对象,将string解码为dict
a = json.loads('{'a':'1111','b':'2222'}'

dumps:将dict编码为string (易传输)
a_dict = {'a':'1111','b':'2222'}
a_str = json.dumps(a_dict)

2. dump 和dumps(序列化)
dump:将dict类型转换为json字符串格式,写入到文件 (易存储)
a_dict = {'a':'1111','b':'2222'}
json.dump(a_dict, open('demo.json', 'w')

{"a": "1111", "b": "2222"}
<class 'str'> 双引号是字符串
{'a': '1111', 'b': '2222'}
<class 'dict'> 单引号是字典
单独写都是字典
posted @ 2022-06-08 14:18  血染星辰  阅读(336)  评论(0)    收藏  举报