不使用序列化程序的原始操作

时间:2019-12-27 07:31:00

标签: json django rest crud

这是错误: 在第7行和第9行;

json.decoder.JSONDecodeError:预期值:第1行第1列(字符0)

这是我的代码:

import requests
BASE_URL = 'http://127.0.0.1:8000/'
ENDPOINT = 'api/'
def get_resource(id):
    resp = requests.get(f"{BASE_URL}{ENDPOINT}{id}/")
    print(resp.status_code)
    print(resp.json())
id = input("enter some id:")
get_resource(id)

2 个答案:

答案 0 :(得分:0)

Response从此站点返回大数据,包括标题,状态代码和其他... 您还应该转储此响应的内容。 Read there

再试一次:

SomeAuthor.add(new Book({data}))

或者:

resp.text.json()

内容使您可以访问响应有效负载的原始字节,您通常会希望使用诸如UTF-8这样的字符编码将它们转换为字符串。

答案 1 :(得分:0)

这是我的观点。

from django.shortcuts import render
from django.views.generic import View
from withoutrest.models import employee
from django.http import HttpResponse
import json
from django.core.serializers import serialize


class EmployeeDetails(View):
    def get(self, request, id, *args, **kwargs):
        emp = employee.objects.get(id=id)
        json_data = serialize('json', [emp,])
        return HttpResponse(json_data, content_type='application/json')