文章目录

    • 一、JSON文件简介
    • 二、借助Python处理JSON文件
      • 1、读取字典类型的JSON文件
      • 2、读取列表类型的JSON文件
      • 3、封装读取JSON文件的函数

一、JSON文件简介

在自动化测试过程中,会将部分数据保存到JSON文件中。

JSON文件有以下特点:

  • JSON是存储和交换文本信息的语法,类似XML。
  • JSON比XML更小、更快、更易解析 JSON是轻量级的文本数据交换格式。
  • JSON是轻量级的文本数据交换格式。
  • JSON独立于语言
  • JSON具有自我描述性、更易理解。

JSON的语法规划如下:

  • JSON数据用大括号括起来。
  • 数据在“名称/值”对中,名称和值用冒号分隔,类似Python中的字典。
  • 名称必须用双引号括起来,值是否需要双引号引起来要视值的类型而定。
  • 数据由逗号分隔。

JSON数据示例:{“name”:“storm”,:age”:30}

JSON模块提供了四个功能:

  • dumps-将字典转换为字符串。
  • dump – 将字典转换为字符串,并写入JSON文件中。
  • loads-将字符串转换为字典。
  • load – 将字典转换为数据类型。

二、借助Python处理JSON文件

1、读取字典类型的JSON文件

首先创建名为“login_account.json”的文件,用来保存某个系统的登陆账号信息,内容如下:

{"user1":{"name":"tom","password":"12345"},"user2":{"name":"jon","password":"123456"}}

然后通过脚本读取该文件内容:

import jsonfile = "login_account.json"with open(file,'r') as f:users = json.load(f)for user in users:name = users[user]['name']password = users[user]['password']print(name,password)

运行结果如下:

2、读取列表类型的JSON文件

首先创建名为“myarray.json”的文件,用来保存某个系统的登陆账号信息,内容如下:

[{"name":"tom","age":30},{"name":"jon","age":22}]

然后通过脚本读取该文件内容:

import jsonfile = "myarray.json"with open(file,'r') as f:ss = json.load(f)for s in ss:print(s)print(s["name"])print(s["age"])

运行结果如下:

3、封装读取JSON文件的函数

为了简化操作,封装读取JSON文件的函数,支持解析两层的JSON文件:

import jsondef parse_json(file,key1,key2):mylist=[]with open(file,'r',encoding='utf8') as f:data= json.load(f)for i in data:mylist.append((data[i][key1],data[i][key2]))return mylistif __name__ == '__main__':account_info = parse_json('login_account.json','name','password')print(account_info)

运行结果如下: