Python读写JSON文件详解:从格式识别到代码实现

Chloe
Chloe
发布时间:2026-10-13| 3人浏览过
原创

本文详解Python中读写JSON文件的方法。首先区分单行JSON与整体JSON两种格式,接着通过json.load读取数据并转换为列表,示例展示如何提取字段值。随后演示使用json.dumps将列表写入JSON文件,并推荐实用在线工具辅助开发。

本文通过具体实例介绍Python中读写JSON文件的功能,供读者参考学习。

与Java相比,Python处理JSON文件更为简便。Java操作JSON通常需要引入特定的jar包及依赖库,有兴趣了解Java实现的读者可自行搜索,此处不再展开。

接下来介绍如何读取JSON文件。

在执行JSON操作前,需掌握JSON的基本格式,以便准确识别不同类型的JSON文件。

JSON文件通常呈现为以下两种格式:

第一种格式为每行包含一个独立的JSON对象,示例如下:

["name":"Tony","age":"21","hobbies" : ["basketball","tennis"]]
["name":"Lisa","age":"20","hobbies" : ["sing","dance"]]

此类JSON中,每一行代表一个独立的JSON对象,各行之间相互独立,无关联关系。

第二种格式是将整个文件内容作为一个完整的JSON对象。

[
{"name":"Tony","age":"21","hobbies" : ["basketball","tennis"]},
{"name":"Lisa","age":"20","hobbies" : ["sing","dance"]}
]

在此格式中,各条记录之间通过逗号进行分隔连接。

下面演示如何读取JSON文件,主要利用json.load函数。

f = open('/home/codergray/company/test_2.json')
#将json格式的数据映射成list的形式
t = json.load(f)

执行后,变量t将变为一个列表(list),按照访问普通列表的方式即可访问其中的元素。

str = t[0]['name']
print str

运行结果如下:

Tony

以上述示例为例,访问t[0]即获取第一条JSON记录,通过键['name']可获取name字段的值,从而读出“Tony”。

接下来介绍如何写入JSON文件。

写入JSON通常采用前文提到的第二种格式,即整个文件构成一个大的JSON对象。

具体示例如下:

f = open('result.json','w')
result = []
temp = {}
temp['name'] = 'Tony'
temp['age'] = '21'
tamp['hobbies'] = ['basketball','tennis']
result.append(temp)
f.write(json.dumps(result,ensure_ascii=False))

通过上述代码,可将JSON数据写入result.json文件。虽然示例中仅包含一条记录,但实际应用中可通过循环插入多条记录。json.dumps方法可视为json.load的逆过程,负责将列表数据格式转换为JSON字符串并保存至文件中。

此外,推荐几款实用的在线JSON工具供参考:

在线JSON代码检验、校验、美化及格式化工具: http://tools.jb51.net/code/json

JSON在线格式化工具: http://tools.jb51.net/code/jsonformat

在线XML与JSON互相转换工具: http://tools.jb51.net/code/xmljson

在线JSON代码格式化、美化、压缩、编辑及转换工具: http://tools.jb51.net/code/jsoncodeformat

在线JSON压缩及转义工具: http://tools.jb51.net/code/json_yasuo_trans

对Python其他内容感兴趣的读者,可查阅本站专题:《Python操作json技巧总结》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》。

希望本文所述内容能对大家的Python程序设计有所帮助。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。