0

我在编写代码以使用 Python + Flask + Requests 使用另一个 API 时遇到问题。他们的 API 使用带有 x-www-form-urlencoded 而不是 RAW JSON 的 PHP,这是我的代码:

app = Flask(__name__)

@app.route('/api/test/getinfo', methods=['POST'])
def get_house_info():
    if request.method == 'POST':
        try:
            payloads = {'no_house':'001234123', 'cd_agent' : '01', 'nm_agent' : 'ABC'}          
            response_data = requests.post(url=url, headers=headers, data=payloads)
            return response_data
        except Exception as e:
            return(str(e))

if __name__ == '__main__':
    app.run(host='0.0.0.0', debug=True)

之后我运行这个烧瓶并尝试使用邮递员调用这个端点,但我收到错误响应类型的对象不是 JSON 可序列化我的代码有什么问题吗?

4

1 回答 1

0

尝试json.dumps()_payloads

python字典和json不一样,这里参考它的用法:

注意:JSON 的键/值对中的键始终是 str 类型。当字典转换为 JSON 时,字典的所有键都被强制转换为字符串。因此,如果将字典转换为 JSON,然后再转换回字典,则字典可能不等于原始字典。也就是说,loads(dumps(x)) != x 如果 x 有非字符串键。资源


从 python 到 json :json.dumps(x)

从 json 到 python :json.loads(x)

于 2021-02-09T11:54:38.840 回答