Ktoś może trochę zna "mORMot " i mechanizmy serializacji ?
constructor TTestServer.Create(const Path: TFileName; adress: SockString);
var
fServer: THttpServer;
begin
fServer := THttpServer.Create( adress,nil,nil,'SerwerNazwa');
fServer.RegisterCompress(CompressDeflate);
fServer.OnRequest := Process;
end;
var
temp1,temp2: integer;
function TTestServer.Process(Ctxt: THttpServerRequest): cardinal;
begin
W := TTextWriter.CreateOwnedStream;
if Ctxt.URL = '/temperatura' then
begin
W.AddJSONEscape(['temp1', temp1 ,
'czas1',czas1,
'temp2',temp2
'czas2',czas2]);
Ctxt.OutContentType :=JSON_CONTENT_TYPE ;
result := 200;
end;
w.free
end;
**jak zamienić na JSON coś bardziej zaawansowanego ? **
np.
TRec_temp_czas = record
temp: integer;
czas: Tdatetime
end;
Tdane_do_serializacji = array of TRec_temp_czas ;
var
dane: Tdane_do_serializacji ;
begin
setlength(dane,3);;
// wpisuje dane
// serializacja
W.AddJSONEscape(['dane',dane]);
i otrzymuje JOSN
{
dane: [
{
temp: 10
czas: 2020-01-01 12:12
} ,
{
temp: 10
czas: 2020-01-01 12:12
} ,
{
temp: 10
czas: 2020-01-01 12:12
} ,
]
}