Python 读写 Json 列表

问题描述

最近在开发过程中,遇到这样一个需求,在答题结束后,需要将答题过程中产生的数据(存储 Json 格式数据的列表)写入 Json 文件作为日志,在需要时可以读取 Json 文件展示日志。

代码实现

import json

json_path = "format.json"
# 0. 构造数据
data = []
for i in range(10):
    data.append({"qno": i, "q_title": "我是问题"+str(i), "q_answer": "我是答案"+str(i)})

# 1.写入 json 文件。其中 'w' 表示覆盖写入
with open(json_path, 'w') as write_f:
    write_f.write(json.dumps(data, indent=4, ensure_ascii=False))

# 2.读取 json 日志文件
with open(json_path, 'r') as load_f:
    data = json.load(load_f)

print("读取 Json 文件:", data)

参考连接:https://blog.csdn.net/m0_51971452/article/details/111701927

运行结果

format.json 文件存储内容:

[
    {
        "qno": 0,
        "q_title": "我是问题0",
        "q_answer": "我是答案0"
    },
    {
        "qno": 1,
        "q_title": "我是问题1",
        "q_answer": "我是答案1"
    },
    {
        "qno": 2,
        "q_title": "我是问题2",
        "q_answer": "我是答案2"
    },
    {
        "qno": 3,
        "q_title": "我是问题3",
        "q_answer": "我是答案3"
    },
    {
        "qno": 4,
        "q_title": "我是问题4",
        "q_answer": "我是答案4"
    },
    {
        "qno": 5,
        "q_title": "我是问题5",
        "q_answer": "我是答案5"
    },
    {
        "qno": 6,
        "q_title": "我是问题6",
        "q_answer": "我是答案6"
    },
    {
        "qno": 7,
        "q_title": "我是问题7",
        "q_answer": "我是答案7"
    },
    {
        "qno": 8,
        "q_title": "我是问题8",
        "q_answer": "我是答案8"
    },
    {
        "qno": 9,
        "q_title": "我是问题9",
        "q_answer": "我是答案9"
    }
]

读取 Json 文件后输出到控制台的内容:

读取 Json 文件: [{'qno': 0, 'q_title': '我是问题0', 'q_answer': '我是答案0'}, {'qno': 1, 'q_title': '我是问题1', 'q_answer': '我是答案1'}, {'qno': 2, 'q_title': '我是问题2', 'q_answer': '我是答案2'}, {'qno': 3, 'q_title': '我是问题3', 'q_answer': '我是答案3'}, {'qno': 4, 'q_title': '我是问题4', 'q_answer': '我是答案4'}, {'qno': 5, 'q_title': '我是问题5', 'q_answer': '我是答案5'}, {'qno': 6, 'q_title': '我是问题6', 'q_answer': '我是答案6'}, {'qno': 7, 'q_title': '我是问题7', 'q_answer': '我是答案7'}, {'qno': 8, 'q_title': '我是问题8', 'q_answer': '我是答案8'}, {'qno': 9, 'q_title': '我是问题9', 'q_answer': '我是答案9'}]

你可能感兴趣的:(python)