首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[教程]掌握Python轻松读取JSON文件:从入门到实战技巧

发布于 2025-06-23 03:30:17
0
773

1. JSON简介JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的对象字面量语法,但...

1. JSON简介

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的对象字面量语法,但是独立于语言,几乎所有现代编程语言都支持JSON,这使得JSON成为跨语言交换数据的理想格式。JSON格式支持以下几种类型的值:

  • 字符串:必须用双引号包围,例如:”name”: “John Doe”
  • 数字:整数或浮点数,例如:age: 30
  • 对象:大括号内包含键值对,例如:{“key”: “value”}
  • 数组:中括号内包含值,例如:[“apple”, “banana”, “cherry”]
  • 布尔值:true或false,例如:isStudent: true
  • 空值:null,表示无值,例如:address: null

2. Python中处理JSON

Python内置了json模块,可以轻松地处理JSON数据。以下是如何在Python中读取JSON文件的基本步骤:

2.1 导入json模块

import json

2.2 打开并读取JSON文件

with open('data.json', 'r', encoding='utf-8') as f: data = json.load(f)

2.3 解析JSON数据

json.load()函数将JSON格式的文件读取到Python对象中。下面是一些解析JSON数据的示例:

2.3.1 获取单个值

name = data['name']
print(name) # 输出:John Doe

2.3.2 获取嵌套值

address = data['address']
city = address['city']
print(city) # 输出:New York

2.3.3 遍历数组

for item in data['items']: print(item['name'])

3. 实战技巧

3.1 处理中文数据

在读取包含中文的JSON文件时,需要指定编码格式为utf-8

with open('data.json', 'r', encoding='utf-8') as f: data = json.load(f)

3.2 处理复杂JSON结构

当JSON文件包含复杂的嵌套结构时,可以使用递归函数来遍历和解析数据。

3.3 异常处理

在读取和处理JSON文件时,可能会遇到各种异常,例如文件不存在、JSON格式错误等。可以使用try-except语句来捕获和处理这些异常。

try: with open('data.json', 'r', encoding='utf-8') as f: data = json.load(f)
except json.JSONDecodeError as e: print("JSON解码错误:", e)
except FileNotFoundError as e: print("文件未找到:", e)

3.4 读取大型JSON文件

对于大型JSON文件,可以考虑使用ijson库来逐步读取和处理数据,避免一次性加载整个文件到内存中。

import ijson
with open('large_data.json', 'r', encoding='utf-8') as f: parser = ijson.parse(f) for prefix, event, value in parser: if (prefix, event) == ('item', 'start_map'): current_item = {} elif (prefix, event) == ('item', 'end_map'): print(current_item) else: key = prefix.split('/')[-1] current_item[key] = value

通过以上步骤和技巧,您可以轻松地在Python中读取和处理JSON文件。

评论
一个月内的热帖推荐
csdn大佬
Lv.1普通用户

452398

帖子

22

小组

841

积分

赞助商广告
站长交流