将响应中的JSON数据传递给Django中的请求

我有一个Django(1.8.3)的观点:

  • 对服务器A(jetty)发出GET请求,该请求返回响应正文中的JSON数据。 然后,

  • 对服务器B(node.js)进行POST,将请求正文中从服务器A接收的JSON数据传递给服务器B.

JSON数据的结构如下所示:

{ name: "foo", details: { "date": "today", "isCool": "no", }, stuff: [ { "id": "1234", "rating": "5", }, { "id": "5678", "rating": "1", }, ] } 

但我无法弄清楚如何从服务器A的响应到服务器B在我的Django视图的请求中获取JSON。 如果我这样做:

 jetty_response = requests.request(method='GET', url=jetty_url) node_response = requests.request(method="POST", url=node_url, data=jetty_response.json()) 

我得到服务器B中的JSON对象,但它看起来像这样:

  { name: "foo", details: [ "date", "isCool"], stuff: [ "id", "rating", "id", "rating"] 

name属性是正确的,但是细节字典被接收为原始字典的键集,并且东西列表作为原始字典中的所有对象中的键集的平面arrays被接收。

如果我在django中做这个:

 node_response = requests.request(method="POST", url=node_url, data=json.dumps(jetty_response.json())) 

我在节点中得到一个空对象,如果我只是做同样的事情:

 data=jetty_response.content 

我如何提出这个要求?

自己想出来。

通常情况下,最简单的答案是:

 node_response = requests.request(method="POST", url=node_url, data=jetty_response.content) 

一旦我仔细看了看日志,意识到自己的POST已经回弹了413,然后调整了我的bodyParser的大小限制,