查找API的JSON POST格式

时间:2016-06-14 19:29:14

标签: python json django api

我试图弄清楚将数据发布到使用django python构建的旧的未记录的API的格式。

使用以下代码提取POST的API:

ids = json.loads(request.POST.get("data", "[]"))

ids是一个整数数组

以下脚本适用于发布到API:

  data = dict(data="[1,3]")                                                               
  r = requests.post("http://apiurl", auth=("user", "pass"), data=data)

以下不起作用:

data = dict(data="[1,3]")
data = json.dumps(data)
r = requests.post("http://apiurl", auth=("user", "pass"), data=data)

我如何找出第三方需要发布到此API以使用它的json?

1 个答案:

答案 0 :(得分:1)

In[2]: import json
In[3]: data = dict(data="[1,3]")
In[4]: data
Out[4]: {'data': '[1,3]'}
In[5]: json.dumps(data)
Out[5]: '{"data": "[1,3]"}'

json.dumps(data)返回字符串。

来自requests doc

  

:param data :(可选)要发送的字典,字节或类文件对象   在:class Request

的正文中

因此,您使用json正确处理请求的API:

{"data": "[list of ints]"}
#e.g.
{"data": "[2,3,4,5]"}

这就是你可以找出第三方。