欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-02-04 19:33:16
我就废话不多说了,大家还是直接看代码吧!import requests, jsonr = requests.get('http://192.168.207.160:9000/api/qualityga...

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

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格式)说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。