2016-04-26 159 views
1

返回2個JSON響應我已經蟒蛇瓶返回2個響應如何通過追加蟒蛇燒瓶

response1 = jsonify(teachers=teachers) 
{ 
     "teachers" : [ 
      { 
       "name":"Mary" 
      } 
     ] 
} 
response2 = jsonify(students=students) 
    { 
     "students" : [ 
      { 
       "name":"John" 
      } 
     ] 
} 

怎樣纔可以有它結合這2的響應?輸出應該看起來像:

{ 
     "college" :[ 
     "teachers" : [ 
      { 
       "name":"Mary" 
      } 
     ], 
     "students" : [ 
      { 
       "name":"John" 
      } 
     ] 
} 

我嘗試使用response = response1 + response2並追加。

回答

1
# Assuming response1 and response2 are the return value from jsonify 
resp1 = flask.json.loads(response1.data) 
resp2 = flask.json.loads(response2.data)  

resp1.update(resp2) 

OR

import itertools 
response = dict(itertools.chain(resp1.items(), resp2.items())) 
+0

這兩個給我的錯誤'類型錯誤:「響應」對象不是可迭代' – aaj

+0

如果您有權訪問數據,並可以讓它進入前的字典調用jsonify(因爲它返回一個Response對象),這是最好的。 – Richard

+0

否則你可以使用flask.json.loads - 我已經更新了我的回答,以反映這一點,因爲這是你在原始問題中提出的內容,但正如我之前所說的,希望你在訪問實際數據之前能夠訪問它響應對象。 – Richard

-1
user_info = json.loads(user_info.content) 
user_quota = json.loads(user_quota.content) 
user_info['user_quota'] = user_quota 
jsonify(user_info) 
+0

儘管此代碼可能會回答問題,但提供有關如何解決問題和/或爲何解決問題的其他上下文會提高答案的長期價值。 – Badacadabra