【python】dict和json的转换写入,以及中文乱码的处理

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

总结

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43444734/article/details/127971430
今日推荐