Python向JSON追加数据的两种方法:List Dump与Dict Update详解

橘子海
橘子海
发布时间:2026-10-16| 6人浏览过
原创

本文介绍Python中向JSON文件追加数据的两种实现方式。第一种方法通过List Dump将JSON转换为列表后追加,但会改变原始结构,不推荐使用;第二种方法利用Dict Update直接更新字典对象,操作简洁高效,是推荐的最佳实践。文章详细对比了两种方法的步骤与优缺点,帮助开发者选择合适的数据处理方案。

前言

JSON作为一种轻量级的数据交换格式,因其易于阅读和编写的特性而被广泛应用。在实际使用JSON的过程中,经常需要向现有的JSON文件中增加新的字段。本文经过验证并整理,介绍了两种实现这一目标的方法。

具体的操作细节如下所述:

1. List Dump(不推荐)

该方法采用List方式向JSON中添加字段。由于此方法存在一定的问题,因此不推荐使用。

具体操作步骤如下:

(1)首先创建一个列表;

json_content = []

(2)将当前JSON文件中已有的内容读取到该列表中;

with open(fjson, 'r') as f:
    content = json.load(f)
    # 读取所有字段
    version = content["version"]
    flags = content["flags"]
    shapes = content["shapes"]
    imageData = content["imageData"]
    imagePath = content["imagePath"]
    imageHeight = content["imageHeight"]
    imageWidth = content["imageWidth"]
 
    item_dict = {
        "version": version,
        "flags": flags,
        "shapes": shapes,
        "imageData": imageData,
        "imagePath": imagePath,
        "imageHeight": imageHeight,
        "imageWidth": imageWidth
    }
 
    json_content.append(item_dict) # 将读取的内容append到list中

(3)将需要新增的内容以字典的形式添加到该列表中;

axis = {"axis":[22,10,33]}
json_content.append(axis)

(4)使用json.dump()函数将该列表写回原文件;

with open(fjson, 'w') as f_new:
    json.dump(content, f_new)

存在的问题:此方法通过dump list的方式追加内容,但其核心问题在于将JSON的dict对象转换成了list对象,这会导致修改JSON的原始格式,因此不建议使用。

2. JSON Update(推荐使用)

利用dict自带的update函数,将字典dict对应的key/value更新到另一个dict中。

这种方法简单快捷,直接更新dict,无需将原始文件的所有key/value全部读取出来。

(1)读取原始json文件(与方式1相同)

with open(fjson, 'r') as f:
    content = json.load(f)

(2)更新字典dict

axis = {"axis":[22, 10, 11]}
content.update(axis)

(3)写入文件

with open(fjson, 'w') as f_new:
    json.dump(content, f_new)

整个过程仅需三步,简单、方便且快捷。

总结

至此,关于Python向JSON追加数据的两种方法的文章介绍完毕。如需了解更多关于Python向JSON追加数据的内容,请搜索本站以前的文章或继续浏览下面的相关文章。希望大家以后多多支持本站!

相关标签:

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

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 算法库。