答案是使用json模块的load()和loads()方法分别从文件和字符串读取JSON数据,需注意编码和异常处理。

在Python中读取JSON数据非常简单,主要使用内置的 json 模块。你可以从字符串或文件中加载JSON数据,下面介绍两种常见场景及操作方法。
从JSON文件读取数据
如果你有一个保存为 .json 文件的数据文件,比如 config.json 或 data.json,可以使用 json.load() 方法读取。
示例文件(data.json):{
"name": "Alice",
"age": 25,
"is_student": false,
"hobbies": ["reading", "coding"]
}Python代码读取文件:
<font color="#0000FF">import</font> json
<p><font color="#0000FF">with</font> open('data.json', 'r', encoding='utf-8') <font color="#0000FF">as</font> file:
data = json.load(file)</p><p>print(data["name"]) <font color="#808080"># 输出: Alice</font>立即学习“Python免费学习笔记(深入)”;
注意:使用 open() 时指定 encoding='utf-8' 可避免中文或其他字符出现编码错误。
从JSON字符串解析数据
如果JSON数据是字符串形式(例如从网络请求中获取),使用 json.loads()(注意末尾的 's' 表示 string)。
<font color="#0000FF">import</font> json
<p>json_string = '{"name": "Bob", "score": 95.5, "active": true}'
data = json.loads(json_string)</p><p>print(data["score"]) <font color="#808080"># 输出: 95.5</font>解析后得到的是Python的字典类型,可以直接按键访问数据。嵌套结构也支持层层访问。
处理常见问题
读取JSON时可能遇到一些错误,以下是常见情况和应对方式:
- 文件不存在:使用 try-except 捕获 FileNotFoundError
- JSON格式错误:捕获 json.JSONDecodeError,检查数据是否合法
- 编码问题:确保文件以正确编码打开,推荐使用 utf-8
带异常处理的示例:
<font color="#0000FF">import</font> json
<p><font color="#0000FF">try</font>:
<font color="#0000FF">with</font> open('data.json', 'r', encoding='utf-8') <font color="#0000FF">as</font> file:
data = json.load(file)
<font color="#0000FF">except</font> FileNotFoundError:
print("文件未找到")
<font color="#0000FF">except</font> json.JSONDecodeError <font color="#0000FF">as</font> e:
print(f"JSON格式错误: {e}")基本上就这些。只要掌握 json.load() 和 json.loads() 的区别,再加一点异常处理,就能稳定读取各种JSON数据。










