Python中JSON格式处理与字典的关系及实操

小鹿同学
小鹿同学
发布时间:2026-10-16 | 2人浏览过
原创

本文详解Python中JSON与字典的对应关系,涵盖JSON数据的增删改查、键值对操作及文件读写。重点解析如何通过Python脚本实现JSON文件的递归遍历、格式化输出及编码处理,提供核心代码示例与注意事项,帮助测试工程师高效处理JSON数据。

前言:作为测试工程师,我们日常经常使用JSON格式文件来存储数据。Python语言在处理JSON方面具有天然优势,因为JSON的本质是键值对的存储结构,这与Python中的字典(dict)高度相似。因此,许多针对字典设计的函数和方法可以直接应用于JSON数据的处理。

本文将首先介绍使用Python脚本处理JSON的核心功能,内容可能较为分散,后续会整合为完整的脚本示例。

1、JSON文件读取后的操作

读取JSON文件后,其操作方式与字典基本一致,可以继承字典相关的内置方法。需要注意的是,JSON文件中可能包含列表(list)和字典(dict)的混合结构,处理时需仔细区分数据类型。

在此过程中,务必注意区分不同的数据结构类型。

JSON文件的数据结构遵循字典结构,即键值对形式。

(1)修改值非常方便,

例如:json["id"]=3001

(2)修改键名则相对麻烦。

Python字典没有直接修改键名的内置方法,

修改键名的正确做法是:先删除原有的键值对,然后添加新的键值对。操作时需获取旧键对应的value,并将其赋值给新的键名。

获取value:value=json['request']["session_id"] 
 
删除键值对:json['request'].pop("session_id") 
 
新增键值对:json['request'].setdefault("operation_id",value)

2、Python递归遍历文件夹中的所有文件

def jsonfilePath_read(inputfilePath, outfilepath):
    rightCount = 0
    errorCount = 0
    for file in os.listdir(inputfilePath):
        try:
            print(file)
            read_jsonfile_change2(str(inputfilePath + '/' + file), outfilepath + '/' + file)
            print(file + '修改成功')
            rightCount += 1
        except:
            print(file + '文件有误修改失败')
            errorCount += 1
 
    print('文件修改完成 ', rightCount, '个文件成功', errorCount, '个文件有误')

核心代码解说:

核心代码: 
for file in os.listdir(inputfilePath):
    #file就是当前路径中的所有文件名,使用的时候别忘了路径+'/' + file
    try:
        ....inputfilePath + '/' + file
    except:
        print().....

3、JSON文件的读取与写入新文件

通过“读取后写入”的方式可以实现JSON的格式化,解决JSON在TXT文件中显示为单行长字符串的问题,使其结构更清晰。

# 读取文件
with open('file/test.json', 'r', encoding='utf8') as f:
    json_data = json.load(f)
jsondict = json_data
 
# 写入新文件
with open('outfile/test.json', 'w', encoding='utf8') as r:
    json.dump(jsondict, r, ensure_ascii=False, indent=4)
print('新文件生成完成')

核心点说明:

在读取和写入时,指定encoding='utf8'以防止编码错误;设置indent=4可使输出更美观,相当于缩进4个空格。

至此,关于Python中JSON格式处理与字典关系的介绍完毕。如需了解更多Python与JSON、字典相关的内容,请搜索本站历史文章或继续浏览后续文章。感谢大家的支持!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表