首页 > 解决方案 > JSON解析错误-期望值:第1行第1列(字符0)-DELPHI Rest Datasnap

问题描述

我正在尝试以delphi语言发出POST请求,作为客户端,Django作为服务器。但是在执行 POST 时会出现错误:

{ "detail":"JSON 解析错误 - 预期值:第 1 行第 1 列 (char 0)" }

所有身份验证部分都正常工作,我可以毫无问题地发出 GET 请求。

PostMan cURL 中使用的源代码

curl --location --request POST 'myUrl/api/v1/grupos/' \
--header 'Content-Type: application/json' \
--data-raw '{"id":9,"grupo":"TESTE","id_empresa":26,"prioridade":0}'

用于将我的 json 添加到请求正文的源代码。

    sJson := '{"id":9,"grupo":"TESTE","id_empresa":26,"prioridade":0}';
    RESTRequest.Body.ClearBody;

    with RESTRequest.Params.AddItem do
      begin
        name := 'body';
        Value := sJson;
        Kind := pkREQUESTBODY;
        ContentType := ctAPPLICATION_JSON;
      end;

    RESTRequest.Execute;

    Result.Value := RESTResponse.content;
    Result.StatusCode := RESTResponse.StatusCode;
    Result.Mensagem := RESTResponse.StatusText;

通过 PostMan 发出相同的请求一切顺利,但当我通过我的应用程序执行此请求时却不行。

有谁知道这个的解决方法吗??

标签: djangorestdelphidatasnap

解决方案


要将数据添加到请求正文中,请使用

RESTRequest.AddBody(sJson, ctAPPLICATION_JSON);

推荐阅读