python:解析requests返回的response(json格式)说明

我就废话不多说了,大家还是直接看代码吧!

import requests, json
r = requests.get('http://192.168.207.160:9000/api/qualitygates/project_status?projectId=%s' % (p_uuid) )
state=json.loads(r.text).get('projectStatus').get('status')

返回如下:

{
 "projectStatus": {
  "status": "ERROR",
  "conditions": [{
   "status": "ERROR",
   "metricKey": "new_security_rating",
   "comparator": "GT",
   "periodIndex": 1,
   "errorThreshold": "1",
   "actualValue": "5"
  }, {
   "status": "ERROR",
   "metricKey": "new_reliability_rating",
   "comparator": "GT",
   "periodIndex": 1,
   "errorThreshold": "1",
   "actualValue": "4"
  }, {
   "status": "OK",
   "metricKey": "new_maintainability_rating",
   "comparator": "GT",
   "periodIndex": 1,
   "errorThreshold": "1",
   "actualValue": "1"
  }, {
   "status": "ERROR",
   "metricKey": "new_coverage",
   "comparator": "LT",
   "periodIndex": 1,
   "errorThreshold": "80",
   "actualValue": "0.0"
  }, {
   "status": "ERROR",
   "metricKey": "new_duplicated_lines_density",
   "comparator": "GT",
   "periodIndex": 1,
   "errorThreshold": "3",
   "actualValue": "5.967688757006265"
  }],
  "periods": [{
   "index": 1,
   "mode": "previous_version",
   "date": "2019-05-31T09:35:58+0800"
  }],
  "ignoredConditions": false
 }
}

补充知识:使用Python的requests库作接口测试——响应结果处理

在实际工作中,很多接口的响应都是json格式的数据,在测试中需要对其进行处理和分析。

设计到json数据处理的方法有两种:序列化和反序列化

python中序列化,简单讲就是将python的字典转换成json格式字符串,以便进行储存或者传输;

反序列化,简单讲就是将json格式字符串转换成python字典,用于对其进行分析和处理。

JSON和DICT格式互转方法:

import json
 
# 序列化成json字符串
d = {‘name':‘jod'}
j = json.dumps(d)
 
#反序列化成字典
print json.loads(j)

而在requests库中,不用json.loads方法进行反序列化,而是提供了响应对象的json方法,用来对json格式的响应体进行反序列化

比如:

r = requests.get(url)
r.json()

以上这篇python:解析requests返回的response(json格式)说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持来客网。