
本文介绍如何用python读取json数组文件,提取特定字段并格式化为换行分隔的字符串,最终通过单次`print()`输出全部内容。
在处理结构化数据(如日程、统计记录)时,常需从JSON文件中提取关键字段(如日期和数量),并以清晰易读的方式展示。假设你有一个 file.json,其中包含一个对象列表,每个对象都有 "date" 和 "count" 字段。目标不是逐行调用 print(),而是将所有格式化后的条目合并为一个字符串,再统一输出。
核心思路是:先用 json.load() 解析文件,再通过列表推导式生成每行文本,最后用字符串的 join() 方法以换行符 \n 连接所有行——这样就能将多行内容“压缩”进一个变量中,供后续一次性使用。
以下是完整、健壮的实现代码:
import json
with open('file.json', 'r', encoding='utf-8') as file:
data = json.load(file)
# 构造每行格式:'Date --> 1402/11/03, Remaining counts --> 5'
new_list = [f'Date --> {item["date"]}, Remaining counts --> {item["count"]}' for item in data]
# 将所有行合并为一个含换行符的字符串
new_var = '\n'.join(new_list)
# 一次性输出带标题的完整内容
print(f'This is our data:\n{new_var}')✅ 注意事项:
立即学习“Python免费学习笔记(深入)”;
- 建议显式指定 encoding='utf-8',避免中文或特殊字符读取异常;
- 若JSON结构不确定(如某些对象缺失 "date" 或 "count"),应添加异常处理(例如用 .get() 或 try/except);
- '\n'.join(...) 要求列表中所有元素均为字符串,确保列表推导式返回 str 类型;
- 此方法适用于任意长度的JSON数组,无需手动计数或索引,简洁且可扩展。
通过这种方式,你既能保持代码的可读性与可维护性,又能灵活复用 new_var(例如写入日志、返回API响应或拼接邮件正文)。











