json - django 休息 api : JSON parse error - No JSON object could be decoded

标签 json django api rest

我正在使用 postman 向我的 django View 创建一个 POST 请求

@csrf_exempt
@api_view(['POST'])
def create_user(request):
    data = JSONParser().parse(request)
    serializer = CaretakerSerializer(data=data)
    if serializer.is_valid():
        serializer.save()
        return JSONResponse(serializer.data, status=201)
    return JSONResponse(serializer.errors, status=400)

但我收到以下错误:

{
  "detail": "JSON parse error - No JSON object could be decoded"
}

当尝试打印我的 request.body 时,我得到以下信息:

------WebKitFormBoundaryrg1JNLvBOEfjkQAT
Content-Disposition: form-data; name="name"

Rubencito
------WebKitFormBoundaryrg1JNLvBOEfjkQAT
Content-Disposition: form-data; name="email"

rubencito@yahoo.com
------WebKitFormBoundaryrg1JNLvBOEfjkQAT--

这是 postman 截图:

enter image description here

最佳答案

好吧,您发送的不是 json,而是发送带有名称/值对的常规 POST 请求。

您需要将 postman 切换为“原始”格式并键入类似 {"name": "X", "email":"Y"} 的内容>

然后在 python 方面,您可以将其读取为 json.loads(request.body)

关于json - django 休息 api : JSON parse error - No JSON object could be decoded,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36366934/

相关文章:

javascript - 如何从 django request.POST 获取输入数据

android - 如何在 Android 上使用谷歌地图或 mapquest 动态突出显示道路的一侧(或在旁边画一条线)

javascript - 正则表达式值的 JSON.parse() 问题

javascript - 如何在水平菜单中排列子项

php - 当数据以 JSON 格式发送时,使用 php 返回的数据

c# - 适用于 C# 的 Google 搜索 API

PHP REST 客户端 API 调用

javascript - 如何在没有循环的情况下使用 mustache.js 呈现此 JSON

windows - 如何在 Windows Vista 上设置 django-admin.py?

django - 运行 django-cms 演示页面时出现错误