""" json中dumps、dump、loads、load 这四个函数是经常用的,也是比较容易混淆的,给大家看一下这四个函数是怎么用的 """
1.json.dumps()函数是将其他类型的内容转化为字符串,用的最多的就是字典,当作入参用
dict_dict = {"name": "张三", "age": "12"}
dict_str = json.dumps(dict_dict, ensure_ascii=False)
print(type(dict_dict), dict_dict, '\n', type(dict_str), dict_str)
# 我们打印的时候就会看到,我的中文为什么乱码了,我们看一下dumps内容
# 这个是看源码中告诉我们的事情
If ``ensure_ascii`` is false, then the return value can contain non-ASCII characters if they appear in strings contained in ``obj``. Otherwise, all such characters are escaped in JSON strings.
# 有个参数是 ensure_ascii,如果这个参数是False,那么这些字符会原样输出,到json字符串中,如果是默认或者为True会保证输入的非ASCII字符转转译
2、json.loads() 将一个json对象(str)转化为相对应的python对象,一般用来转换返回报文,然后获取相应报文节点下的数据
json_1 = '{"a":"1", "b":"1"}'
print(type(json_1), json_1)
json_2 = json.loads(json_1)
print(type(json_2), json_2)
3、json.dump():将python的对象转化为对应的json对象(str),并存放在文件中
json_msg = {"resultCode": 0,"data": {"zc": {"volumeUsed": "0.2","balanceHour": "","usedRate": 0,"lineName": "张三"}},"resultMessage": "成功"}
file = open('1.json', 'w')
json.dump(json_msg, file)
4、json.load():将一个存储在文件中的json对象(str)转化为相对应的python对象,两种方法都可以
# 方法1
file = open("1.json", 'r', encoding='utf-8')
info_load = json.load(file)
print(info_load)
# 方法2
with open('1.json', 'r', encoding='utf-8') as f:
data = json.load(f)
print('data%s'%data)