字典嵌套字典取值由字符串转换为json

在编写自动化框架,读取excel数据时,发现data的值读出来为字符串模式,造成接口传值失败,最终找到了解决方案。
在这里插入图片描述
没有转换前的代码:

        for i in range(2,sheet.max_row+1):
            row_data={}
            row_data['url']=sheet.cell(i,1).value
            row_data['data']=sheet.cell(i,2).value
            row_data['title']=sheet.cell(i,3).value
            row_data['http_method']=sheet.cell(i,4).value
            test_data.append(row_data)

转换前读取结果:

[{'url': 'http://japi.juhe.cn/qqevaluate/qq', 'data':{'key': 'bf9c538d4302b62a9c97cbee4aa6b7e7', 'qq': '3246537'}’, 'title': '正常登录', 'http_method': 'get'}]

可以看出通过key取出的values结果是:

{'key': 'bf9c538d4302b62a9c97cbee4aa6b7e7', 'qq': '3246537'}

可以看出上述结果value的结果外层有一对单引号包裹,这样传的值是一段字符串,而不是一个字典。

转换后的代码:

        for i in range(2,sheet.max_row+1):
            row_data={}
            row_data['url']=sheet.cell(i,1).value
            row_data['data']=json.loads(sheet.cell(i,2).value)
            row_data['title']=sheet.cell(i,3).value
            row_data['http_method']=sheet.cell(i,4).value
            test_data.append(row_data)

转换后的结果:

[{'url': 'http://japi.juhe.cn/qqevaluate/qq', 'data': {'key': 'bf9c538d4302b62a9c97cbee4aa6b7e7', 'qq': '3246537'}, 'title': '正常登录', 'http_method': 'get'}]

这个key取出的结果是:

{'key': 'bf9c538d4302b62a9c97cbee4aa6b7e7', 'qq': '3246537'}

这样取出的value是字典,问题解决!

你可能感兴趣的:(接口自动化框架,字符串,json,python,excel)