资讯详情

python处理request返回的json数据

在实际工作中,许多接口的响应是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格式的响应体进行反序列化:

r = requests.get(url)

r.json()

二. request处理返回数据有两种方法:

1.对request发起请求返回的响应对象.json()操作,.json操作返回是字典类型(),如下:

2.对request响应对象中获得请求的响应对象text数据进行json.loads(text)操作后返回字典类型(),如下:

三.使用request发送请求并处理返回结果-基础模板

import requests import json  # 以get请求方法时,可以直接将参数附着在后面,也可以传输到参数中 response=requests.get(f"http://XXXXX/anyq?question={question}") param={"question":question} res = requests.get(url='https://b.faloo.com/l/0/1.html',params=param) # 这里形参为params   # 如果是post,可以以data形式作为参数 params = {"username": self.username,"email": self.email, "password": self.password} response = requests.post(request_url, data=params) # 这里形参为data  # 如果返回的数据是unicode编码,例如 """ "answer\":\"\u8bb2\u8bdd\u4ea4\u6d41\u6700\u5c11\u76f8\u96941\u7c73\uff0c\u6700\u597d2\u7c73\u3002  \u4e00\u822c\u60c5\u51b5\u4e0b\uff0c\u98de\u6cab\u4f20\u64ad\u53ea\u6709\u4e0e\u4f20\u67d3\u6 e90\u8fd1\u8ddd\u79bb\u63a5\u89e6\u65f6\u624d\u53ef\u80fd\u5b9e\u73b0\u3002\u98de\u6cab """  # 参考 https://www.cnblogs.com/573734817pc/p/10855147.html  进行解码 decode_rs=response.text.encode("utf-8").decode('unicode_escape')  # 如果以json格式返回,直接使用json而不是分析text json_rs=response.json() print(json_rs)

标签: g010d41tq传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台