portal7282

#关于json解析

with open(\'C:\\Users\\Administrator\\Desktop\\data.json\',\'r\')as json_file:
json_data=json_file.read()#先读取到json文件
# print(type(json_data))
# print(json_data)#
import json
py_data=json.loads(json_data)#转化为py数据
# print(type(py_data))
# print(py_data)
# print(py_data[\'user\'][0][\'name\'])#虽然可以这样一层层解析,但是不易读懂,

#所以在清楚json数据的结构下,转为py数据后,应该引入类来保存和调用,方便在接口框架的用例中做断言
#将json数据中包含许多对象的键值对的键名称建一个类,json中的对象的键值对中的键名称作为整个类的实例变量。比如:

class User():
def __init__(self,id,name,age,sex,hobby):
self.id=id
self.name=name
self.age=age
self.sex=sex
self.hobby=hobby
def __str__(self):
return "id=%d,name=%s,age=%d,sex=%s,hobby=%s"%(self.id,self.name,self.age,self.sex,self.hobby)

 

users=[]

for key in py_data.keys():
if key==\'user\':
all_user_list = py_data[\'user\']#引入一个列表来方便遍历
for user in all_user_list:
id = user[\'id\']
name = user[\'name\']
age = user[\'age\']
sex = user[\'sex\']
hobby = user[\'hobby\']
u=User(id,name,age,sex,hobby)#这里创建py对象,将json文件中JavaScript对象转化为py对象
users.append(u)
if key==\'msg\':
msg=py_data[key]#看json数据结构可以知道键值msg对应的json对象只有一个,所以不用遍历

 

print(users[0])

分类:

技术点:

相关文章: