Я действительно новичок в Delphi и провожу эксперимент по выводу массива JSON через delphi.Это может показаться простым для всех, но я просто не знаю как.Я уже создал простую программу.
Теперь, что я хочу сделать, это создать команду / запрос с параметром, подобным:
http://localhost:8001/hello?json={"names":["Jay","Chris","John"]}
, который будет создавать результат в браузере, как это:
{
result: ["Hello Jay","Hello Chris","Hello John"],
id: "",
time_elapsed: 0
}
Пожалуйста, мне действительно нужна помощь в этом.Кто-нибудь?
РЕДАКТИРОВАТЬ: Это код, который я только что сделал сегодня, но он все еще не показывает желаемый результат:
procedure TPrimeJSONMHelloPeople.ProcessJSONRPCRequest(
var ResultValue: TlkJSONbase; var ResultSuccess: Boolean);
var
jsonPeople:TlkJSONlist;
dmPool:TObject;
dm:TPrimeDataModuleBaseDM;
i:integer;
begin
FjsonObj1 := TlkJSONobject.Create;
jsonPeople := FjsonObj1.CreateListValue('names');
jsonPeople.AddVarString('jay');
jsonPeople.AddVarString('ann');
jsonPeople.AddVarString('john');
inherited;
CheckRequiredParameter('names');
PrimeDataModuleWebService.TDataModuleDMCreateInstanceDefault(dmPool);
try
dm := TPrimeDataModuleDefaultDM(dmPool).GetModule;
try
//this part here will loop and output the name
//if jsonPeople <> nil then
if Params.Field['names'] <> nil then
begin
for i := 0 to FjsonObj1.Field['names'].Count - 1 do
begin
ResultValue := TlkJSONlist.Create
end;
end;
ResultValue := TlkJSONlist.Create;
finally
dm.Release;
end;
finally
dmPool.Free;
end;
FjsonObj1.Free;
ResultSuccess := True;
end;
Я не знаю, чтоотсутствует в коде, он показывает только: {
result: [ ],
id: "",
time_elapsed: 0
}
, а не: {
result: ["Hello Jay","Hello Chris","Hello John"],
id: "",
time_elapsed: 0
}