如何在 Python 中加载 JSON 文件并以换行格式打印指定字段值

本文介绍如何使用 python 读取 json 文件,提取特定字段(如 date 和 count),将其格式化为多行字符串并统一输出,避免循环中重复调用 print,提升代码可维护性与可读性。

在实际开发中,我们常需从 JSON 文件中读取结构化数据,并以清晰、易读的方式展示关键信息。例如,给定一个包含多个预约记录的 file.json,每条记录含 date、time 和 count 字段,若仅需展示日期与剩余数量,可借助列表推导式构造格式化字符串,再通过字符串的 join() 方法将所有行合并为一个带换行符的完整字符串。

以下是完整、健壮的实现方案:

import json

# 安全读取 JSON 文件(建议添加异常处理)
try:
    with open('file.json', 'r', encoding='utf-8') as file:
        data = json.load(file)
except FileNotFoundError:
    print("错误:文件 'file.json' 未找到。")
    exit(1)
except json.JSONDecodeError as e:
    print(f"错误:JSON 解析失败 — {e}")
    exit(1)

# 提取并格式化所需字段(支持空值/缺失键防护)
new_list = []
for item in data:
    date = item.get("date", "N/A")
    count = item.get("count", 0)
    new_list.append(f'Date --> {date}, Remaining counts --> {count}')

# 合并为单个多行字符串
new_var = '\n'.join(new_list)

# 一次性输出全部内容
print(f'This is our data:\n{new_var}')

关键要点说明:

  • '\n'.join(list) 是将列表中每个字符串用换行符连接的标准做法,比手动拼接或循环打印更简洁高效;
  • 使用 .get(key, default) 可防止因字段缺失导致 KeyError,增强鲁棒性;
  • 添加 try...except 块能有效处理常见 I/O 和解析异常,适用于生产环境;
  • 显式指定 encoding='utf-8' 避免中文或特殊字符乱码(尤其在 Windows 系统下)。

? 进阶提示: 若后续需支持表格对齐、导出 CSV 或渲染 HTML,可基于 new_list 进一步扩展——它已是一个结构清晰的中间数据容器,灵活性远高于直接打印。