Python 系列
前言
如果我们有本地的json 文件,需要存储,那么我们在python 可以把我们需要的数据,转为dict ,然后在写到json 文件里面
一、json 是什么?
JSON(JavaScript Object Notation, JS对象简谱)是一种轻量级的数据交换格式
二、使用步骤
1.读取json
读取本地json 文件,encoding=‘utf-8’ 防止读取到中文的时候乱码的情况,然后把json 转为dict
def json_to_dict(add_json)->dict:
with open(add_json, 'r', encoding='utf-8') as f:
data = f.read()
my_dict = json.loads(data)
return my_dict
- 这样就可以读取出来json 文件:json.loads
import json
def json_to_dict(add_json)->dict:
with open(add_json, 'r', encoding='utf-8') as f:
data = f.read()
my_dict = json.loads(data)
return my_dict
print(json_to_dict(r"F:\my_work\RealCar\sqldata\alert.json"))
2.写入
写入,解决乱码等问题
json.dump(old_dict, f, indent=2, sort_keys=True, ensure_ascii=False) #
import json
def json_to_dict(add_json) -> dict:
with open(add_json, 'r', encoding='utf-8') as f:
data = f.read()
my_dict = json.loads(data)
return my_dict
def write_to_json(new_dict: dict, json_add=r"F:\my_work\RealCar\sqldata\alert.json"):
old_dict = json_to_dict(json_add)
for key, values in new_dict.items():
old_dict[key] = values
with open(json_add, "w", encoding='utf-8') as f:
# json.dump(dict_var, f) # 写为一行
json.dump(old_dict, f, indent=2, sort_keys=True, ensure_ascii=False) # 写为多行
new_json_dict = json_to_dict(json_add)
print('new_json_dict', new_json_dict)
write_to_json({
"key": 'key not in'})
write_to_json({
"alert_str": 'key in '})
原来的旧的json 文件内容,
{
"alert_str": ""
}
运行完上面的代码之后
{
"alert_str": "key in ",
"key": "key not in"
}