Json文件的读写操作

Json文件的读写操作

不过尔尔 20 2021-12-03

介绍

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]]}]}