使用python读取json数据,简单的处理成元组数组
目录
准备一个json数据
创建一个python文件
编写json里面的代码
解释
把上面的工具编写为一个简单的工具类
-
准备一个json数据
-
[{"username": "13800138123","password": "123456","verify_code": "8888","msg": "登陆成功","test_tittle": "登录--成功登录"},{"username": "13800138124","password": "123456","verify_code": "1324","msg": "验证码错误","test_tittle": "登录--验证码错误"},{"username": "13800138125","password": "123457","verify_code": "8888","msg": "密码错误!","test_tittle": "登录--密码错误"},{"username": "","password": "123456","verify_code": "8888","msg": "请填写账号或密码","test_tittle": "登录--账号为空"},{"username": "13800138126","password": "请填写账号或密码","verify_code": "8888","msg": "密码错误!","test_tittle": "登录--密码为空"},{"username": "13800138127","password": "Null","verify_code": "8888","msg": "密码错误!","test_tittle": "登录--密码为Null"},{"username": "Null","password": "123457","verify_code": "8888","msg": "账号不存在!","test_tittle": "登录--账号为null"} ]
对里面的json数据进行简单的说明
-
username 是用户名
-
password 是 用户密码
-
verify_code 是 验证码
-
msg 验证的消息
-
test_tittle 是测试的标题
-
json对象 key:value
-
-
-
创建一个python文件
-
-
编写json里面的代码
-
# 导入json包 import json# 文件路径 josn_src = "login_data.json" # 打开json文件 with open(josn_src, "r", encoding="utf-8") as f:# 使用json模块加载读取的流json_data = json.load(f)print(json_data)# 存储json数据列表json_list = []# 遍历数据 ==》 转化为元组for use_data in json_data:# 转化为元组json_list.append(tuple(use_data))print(json_list)
-
整体的思路就是通过获取json文件的io流,然后转化为 json,在通过遍历获取 key的值,转化为元组追加到json_list
-
-
解释
- 通过with open() as f 获取json文件流
- 通过json.load(f)
- 进行json转化
- 注意:这里的load() 不是loads
- loads会报错误
- 不要使用错了
- 通过for in 遍历数据
- 使用tuple()转化为元组
- 并且追加在json_list列表后面
- 运行结果如下
-
把上面的工具编写为一个简单的工具类
-
创建utils文件
-
import json# 读取json数据 def read_easy_json_data(json_src=""):# 数据转化追加存储列表json_list = []# 读取with open(json_src, 'r', encoding='utf-8') as f:# 转化为json数据json_data = json.load(f)# 转化为元组for data in json_data:json_list.append(tuple(data.values()))# 返回读取的数据return json_list
把json文件的路径提取出来,然后遍历里面的结果,并且返回处理的json结果,使用这个函数的时候,把路径传进去就行了,只能简单的处理上面json类型的文件数据
-
- 测试工具类
-
import utilsprint(utils.read_easy_json_data("login_data.json"))
- 结果
-