【发布时间】:2014-10-03 08:35:08
【问题描述】:
我必须通过邮寄方式发送到 JSON 文本的 URL 字符串,我使用 TidHTTP 组件通过邮寄方式发送,如下面的代码所示,但是当我点击提交按钮时,我跳过了这个错误,我一直在搜索谷歌到另一个人,这种情况发生了,但在这种情况下,没有一个解决方案对我有帮助。
var
postData:String;
url:String;
contestacion:String;
datosPOst:TStringList;
lista:TMemoryStream;
begin
datosPOst:=TStringList.Create;
datosPOst.Text:='{'+#10+'"ticketCode": "asdasd",'+#10+
'"CIF": "***",'+#10+
'"storeCode": "***",'+#10+
'"saleTimeStamp": "\/Date(123456000000)\/",'+#10+
'"email": "prueba@***",'+#10+
'"userCP": "30280",'+#10+
'"products": ['+#10+
'{'+#10+
'"Amount": 1,'+#10+
'"Description": "PRUEBA ticket",'+#10+
'"Name": "Prueba ticket 2",'+#10+
'"Price": 25.25,'+#10+
'"ProductCode": "50",'+#10+
'"Tax": 21,'+#10+
'"UnitPrice": 250.00'+#10+
'}'+#10+
'],'+#10+
'"user": "****",'+#10+
'"password": "****"'+#10+
'}';
lista:=TMemoryStream.Create;
datosPOst.SaveToStream(lista);
contestacion:=conexion.Post('http://****.com/Ticket.svc/rest/InsertTicket',lista);
另外,如果有任何方法可以从 delphi 形成 json 也将不胜感激
谢谢
【问题讨论】:
-
@whosrdaddy 它不是重复的,您链接的问题是将它放在需要流的字符串列表中。这是关于 400 bad-request 以及在这种情况下 idHTTP 不会给您返回所需的正文的事实。
-
用户后面少了一个逗号,应该是
'"user": "****",'+#10+ -
问题不是逗号
-
您可以使用 SuperObject 开源库从 Delphi 创建 JSON。