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

Posted 圆觉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在使用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))

 

以上是关于在使用json.dumps()格式化响应数据时报错TypeError: Object of type Response is not JSON serializable的主要内容,如果未能解决你的问题,请参考以下文章

python json.dumps()函数输出json格式,使用indent参数对json数据格式化输出

python序列化

json.dumps参数之解

python3 json序列化问题

Python JSON dump ,load,dumps,loads

如何摆脱 Python json.dumps 中的“quot”