在使用json.dumps()格式化响应数据时报错TypeError: Object of type Response is not JSON serializable

今天在处理接口返回数据格式化的时候报错:TypeError: Object of type Response is not JSON serializable。响应的对象不可序列化

解决:

打印出它响应结果是什么类型,发现是个对象。

然后先把响应结果转为json,再去格式化响应内容。

如下:

import requests
import json


url = 'https://api.apishop.net/common/weather/get15DaysWeatherByArea'
apikey = 'chgaxvsf88f3858a15fa4426f4cbdd4d2a02b92ee0747f3'
area = "重庆"
areaID = "101040100"
# TODO apikey前面有引号,后面就不用了
data = {
    "apiKey":apikey,
    "area":area,
    "areaID":areaID,
    }


def send_post(url,data,areaID):
    result = requests.post(url,data,areaID)
    assign = result.json()
    # todo indent缩进空格间距,sort_keys按照key来排序,ensure_ascii解码显示中文
    return json.dumps(assign,indent=4,sort_keys=True,ensure_ascii=False)   #格式化返回内容

print(send_post(url,data,areaID))
原文地址:https://www.cnblogs.com/xiamaojjie/p/11610507.html