介绍
Json模块提供了四个功能:dumps、dump、loads、load
用法
dumps
将python中的 字典 转换为 字符串
import json
test_dict = {'bigberg': [7600, {1: [['iPhone', 6300], ['Bike', 800], ['shirt', 300]]}]}
print(test_dict)
print(type(test_dict))
#dumps 将数据转换成字符串
json_str = json.dumps(test_dict)
print(json_str)
print(type(json_str))
输出:
{'phone': [3, {1: [['iPhone', 6300], ['xiaomi', 2800], ['huawei', 6000]]}]}
<class 'dict'>
{"phone": [3, {"1": [["iPhone", 6300], ["xiaomi", 2800], ["huawei", 6000]]}]}
<class 'str'>
loads
将 字符串 转换为 字典
import json
json_str = '{"phone": [3, {"1": [["iPhone", 6300], ["xiaomi", 2800], ["huawei", 6000]]}]}'
new_dict = json.loads(json_str)
print(new_dict)
print(type(new_dict))
输出:
{'phone': [3, {'1': [['iPhone', 6300], ['xiaomi', 2800], ['huawei', 6000]]}]}
<class 'dict'>
dump
将数据写入json文件中
import json
new_dict = {'phone': [3, {'1': [['iPhone', 6300], ['xiaomi', 2800], ['huawei', 6000]]}]}
with open("./record.json", "w") as f:
json.dump(new_dict, f)
print("写入文件完成...")
输出:
写入文件完成...
load
把文件打开,并把字符串变换为数据类型
import json
with open("./record.json", 'r') as load_f:
load_dict = json.load(load_f)
print(load_dict)
load_dict['lang'] = [80, {1: [['Python', 36], ['go', 90]]}]
print(load_dict)
输出:
{'phone': [3, {'1': [['iPhone', 6300], ['xiaomi', 2800], ['huawei', 6000]]}]}
{'phone': [3, {'1': [['iPhone', 6300], ['xiaomi', 2800], ['huawei', 6000]]}], 'lang': [80, {1: [['Python', 36], ['go', 90]]}]}