如何从python flask服务器正确返回json字符串

问题描述 投票:0回答:1

我正在使用python flask服务器API来调用另一个python flask服务器API。这两个都是使用swagger编辑器生成的。

API2返回编码的字符串,例如:

def Server2_API2():
    payload = {
        "value1": 'somedata',
        "value2": 'somedata',
    }
    encoded_payload = jwt.encode(payload, SECRET, algorithm=ALGORITHM)
    return encoded_payload <-- {str}'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.'

服务器1上的API1如下调用服务器2上的API2:

def Server1_API1():
    resp = requests.post('http://localhost:1000/API2', data='value1=one&value2=two')
    if resp.status_code == 200:
        first_try = resp.content   <-- b'"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9"\n'
        second_try = resp.content.decode() <-- {str} '"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9"
        '   <- notice the new line here

        return first_try
        #return second_try

如果返回first_try,则会收到错误:'bytes'类型的对象不可JSON序列化

如果返回second_try,则返回以下数据:

"\"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9\"\n" 

我的目标是仅按以下方式返回数据,而不会出现任何错误或任何反斜杠或换行符:

例如“ eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9”

我该如何实现?

SOLUTION:

third_try = resp.json()

json python-3.x flask swagger-editor
1个回答
0
投票

这成功了:

token = resp.json()
© www.soinside.com 2019 - 2024. All rights reserved.