本文共 2097 字,大约阅读时间需要 6 分钟。
JSON文件的处理
JSON文件也是一个文本文件,可以直接使用read()和write()方法去操作文件,但由于这两个方法不够方便,因此对JSON文件有自己独特的读取和写入方法。JSON文件常用于测试时,将测试数据定义为JSON文件格式,通过代码读取JSON文件,进行数据传参(参数化)。
JSON(JavaScript Object Notation,JavaScript对象表示)基于文本,是一种轻量级的数据交换格式,独立于语言。每种编程语言都可以使用JSON,因此它成为数据交换的标准格式之一。与其他格式(如XML)相比,JSON文件通常较小,数据传输效率更高。
以下是一个示例,展示了如何将数据写入JSON文件:
{ "name": "小明", "age": 18, "sex": "男", "hobby": ["听歌", "游戏", "购物", "吃饭", "睡觉", "打豆豆"], "address": { "country": "中国", "city": "上海" }}
要读取JSON文件,可以按照以下步骤进行:
导入json
模块:
import json
打开文件并读取内容:
with open('info.json', encoding='utf-8') as f: data = json.load(f)
解析JSON数据:
result = json.load(f)print(type(result)) # 输出结果类型print(result.get('name')) # 获取指定键的值print(result.get("age")) # 获取指定键的值print(result.get("address").get("city")) # 获取嵌套的值
要将Python数据写入JSON文件,可以按照以下步骤进行:
导入json
模块:
import json
打开文件并准备写入内容:
with open('info2.json', 'w', encoding='utf-8') as f: json.dump(my_list, f)
如果需要确保所有字符都能正确显示,可以使用ensure_ascii=False
:
json.dump(my_list, f, ensure_ascii=False)
如果需要添加缩进,可以使用indent
参数:
json.dump(my_list, f, ensure_ascii=False, indent=2)
以下是一个读取并提取JSON文件中用户名、密码和预期结果的示例:
import jsondef read_data(): new_list = [] with open('info3.json', encoding='utf-8') as f: data = json.load(f) for i in data: new_list.append((i.get("desc"), i.get("username"), i.get("password"), i.get("expect"))) return new_listprint(read_data())
以下是一个典型的JSON文件结构示例:
[ { "desc": "正确的用户名密码", "username": "admin", "password": "123456", "expect": "登录成功" }, { "desc": "错误的用户名", "username": "root", "password": "123456", "expect": "登录失败" }, { "desc": "错误的密码", "username": "admin", "password": "123123", "expect": "登录失败" }]
通过以上方法,可以方便地读取和写入JSON文件。JSON文件在数据交换中非常有用,尤其是在前后端通信时。掌握这些技能可以帮助您更高效地处理数据,同时也可以简化代码和提高开发效率。
转载地址:http://ynunz.baihongyu.com/