Python中JSON格式处理与字典的关系及实操
本文详解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、字典相关的内容,请搜索本站历史文章或继续浏览后续文章。感谢大家的支持!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













