
本文介绍如何用 python 读取 json 数组文件,并将其中每个对象的特定字段(如 date 和 count)格式化为多行字符串,最终通过单次 `print()` 输出完整内容。
在处理结构化数据时,JSON 是最常用的格式之一。当 JSON 文件包含一个对象列表(即 JSON 数组),我们通常需要提取关键字段、进行格式化,并以可读方式输出。例如,给定一个记录日期、时段与数量的 JSON 文件,目标是生成类似 Date --> 1402/11/03, Remaining counts --> 5 的每行一条记录的字符串,并将其整体赋值给一个变量,以便后续统一输出。
实现该目标的核心在于:将多个格式化字符串合并为一个含换行符的单一字符串。Python 的字符串 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)
# 提取并格式化每条记录(一行一个)
formatted_lines = [
f'Date --> {item["date"]}, Remaining counts --> {item["count"]}'
for item in data
]
# 合并为单个含换行符的字符串
new_var = '\n'.join(formatted_lines)
# 一次性输出全部内容(含标题)
print(f'This is our data:\n{new_var}')✅ 输出效果示例:
立即学习“Python免费学习笔记(深入)”;
This is our data: Date --> 1402/11/03, Remaining counts --> 5 Date --> 1402/11/04, Remaining counts --> 2 Date --> 1402/11/05, Remaining counts --> 4 ...
? 注意事项:
- 始终使用 encoding='utf-8' 显式指定编码,避免中文或特殊字符乱码;
- 使用 try...except 捕获常见异常(文件不存在、JSON 解析失败),提升程序鲁棒性;
- '\n'.join(list) 是比循环拼接更高效、更 Pythonic 的方式,避免重复创建字符串对象;
- 若需进一步控制对齐或添加序号,可在列表推导式中扩展格式(如 f'{i+1}. Date --> ...')。
掌握这一模式后,你可轻松适配任意 JSON 数组结构——只需调整键名和格式模板,即可实现清晰、可控的多行文本生成。











