Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Crear objeto json (https://www.clubdelphi.com/foros/showthread.php?t=93426)

alejozd 24-09-2018 02:12:42

Crear objeto json
 
Hola, alguien conoce el manejo o construcción de objetos json con delphi Tokio. Hice el ejemplo con tjsonobjectbuilder, puedo mostrar el texto en un memo, pero no se como enviar ese contenido como objeto json. La idea es armar el objeto json a un web service Rest.

mamcx 24-09-2018 03:00:57

Es identico a mandar un string.

alejozd 24-09-2018 03:15:38

Cita:

Empezado por mamcx (Mensaje 528563)
Es identico a mandar un string.

Gracias por responder. El caso es que el web service me pide un objeto json. Ya realice el ejemplo con el jsonobjectbuilder, y el contenido del json lo muestro en un memo. Entonces la cuestión es como hago para construir el objeto json para enviarlo en uno de los parámetros del web service Rest.

mamcx 24-09-2018 03:57:30

"Objeto json" no existe en delphi. Solo en javascript. Asi que lo mandas como texto. Ya probaste?

alejozd 24-09-2018 04:09:13

Cita:

Empezado por mamcx (Mensaje 528565)
"Objeto json" no existe en delphi. Solo en javascript. Asi que lo mandas como texto. Ya probaste?

Voy a hacer la prueba, este es el código con el que hice el ejemplo:

Código Delphi [-]
procedure TFrmPrincipal.BtnCrearFacturaClick(Sender: TObject);
var
  stringWriter : TStringWriter;
  writer : TJsonTextWriter;
  builder : TjsonObjectBuilder;
  vJsonObject : TJSONObject;
begin
  stringWriter := TStringWriter.Create;
  writer := TJsonTextWriter.Create(stringWriter);
  builder := TJSONObjectBuilder.Create(writer);
  vJsonObject := TJSONObject.Create();
  writer.Formatting := TJsonFormatting.Indented;
  builder
  .BeginObject
    .BeginArray('Stocks')
      .BeginObject
        .Add('Symbol', 'ACME')
        .Add('price', '75.5')
      .EndObject
      .BeginObject
        .Add('Symbol', 'COOL')
        .Add('price', '21.7')
      .EndObject
    .EndArray
  .EndObject;
  Memo2.Lines.Clear;
  Memo2.Lines.Add(stringWriter.ToString);
end;

Si un parámetro es el Json lo haría creando una variable de tipo widestring y le entrego lo que contiene stringWriter.ToString
La pregunta la hago para saber como puedo separar los procesos, uno de ellos debería ser (armarFactura), donde se armaría la factura con la estructura Json, esta función devolvería un widestring.

Gracias!


La franja horaria es GMT +2. Ahora son las 14:43:39.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi