【问题标题】:JSON parse error - Expecting value: line 1 column 1 (char 0) - DELPHI Rest DatasnapJSON解析错误-期望值:第1行第1列(字符0)-DELPHI Rest Datasnap
【发布时间】:2021-07-21 06:04:02
【问题描述】:

我正在尝试使用 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 发出相同的请求一切顺利,但当我通过我的应用程序发出请求时却不行。

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

【问题讨论】:

  • 能否添加 Postman 的 cURL 代码 sn-p 以澄清您的要求?
  • 您为什么要提供{" 并且错误消息出现{ " - 您是否注意到那里的空格无缘无故出现?更不用说我在任何地方都没有看到你提供过"detail" 作为名字。
  • @Xalo 添加了 Postman cUrl!

标签: django rest delphi datasnap


【解决方案1】:

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

RESTRequest.AddBody(sJson, ctAPPLICATION_JSON);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-28
    • 1970-01-01
    • 2017-05-09
    • 1970-01-01
    • 1970-01-01
    • 2020-02-28
    • 2013-05-10
    相关资源
    最近更新 更多