1. 怎么使用python提取json文件中的字段
例json文件,名字test.json,
{
"verson":"1.4.2",
"author":"johanna",
"type":"1"
}
python编码:
首先读取json文件内容,利用json.loads()转化为dict类型,遍历每一对key,val
importjson
importos
try:
t_str=open('./test.json','r').read()
t_json=json.loads(t_str)
fork,vint_json.items():
printk,v
exceptException,e:
printstr(e)
2. python中如何取列表中含有字典的,字典中的某一个值
在Python中,使用JsonPath提取字典中的值能解决复杂多层嵌套字典提取的问题。比如,若接口返回的json数据为
接口测试代码如下:
要获取code的值,使用`res.get("code")`即可。
如需提取第一个venderNo的值,使用JsonPath模块可以实现,更多使用方式请参考官方文档。
获取字典中的所有key和value,定义期望结果为`expectdata={"code": "200", "data[0].venderNo":"8"}`。
打印所有key和value,代码如下,用于校验expectdata中的字段值。
在接口自动化测试中,使用相对路径而非绝对路径,避免路径不兼容问题。例如,项目目录结构为:
测试文件需要获取resources文件夹下的json文件内容,动态获取json文件的相对路径,然后读取文件内容。
对于面试常见问题,如去除列表中的重复元素和判断字符串是否对称,提供相应测试代码和结果。
3. PYTHON关于提取返回JSON结果中特定字段的问题
实际上JSON就是Python字典的字符串表示,但是字典作为一个复杂对象是无法直接转换成定义它的代码的字符串,Python有一个叫
simplejson的库可以方便的完成JSON的生成和解析,这个包已经包含在Python2.6中,就叫json 主要包含四个方法:
mp和mps(从Python生成JSON),load和loads(解析JSON成Python的数据类型)mp和mps的唯一区别是
mp会生成一个类文件对象,mps会生成字符串,同理load和loads分别解析类文件对象和字符串格式的JSON
import json
dic = {
'str': 'this is a string',
'list': [1, 2, 'a', 'b'],
'sub_dic': {
'sub_str': 'this is sub str',
'sub_list': [1, 2, 3]
},
'end': 'end'
}
json.mps(dic)
#output:
#'{"sub_dic": {"sub_str": "this is sub str", "sub_list": [1, 2, 3]}, "end": "end", "list": [1, 2, "a", "b"], "str": "this is a string"}'
举个简单的例子就是:
import json
s = json.loads('{"name":"test", "type":{"name":"seq", "parameter":["1", "2"]}}')
print s
print s.keys()
print s["name"]
print s["type"]["name"]
print s["type"]["parameter"][1]