私はDelphiを初めてお使いになり、delphiを使用してJSON配列を出力する方法を実験しています。これは誰にでも簡単に聞こえるかもしれませんが、私はちょっと知りません。私はすでにシンプルなプログラムを作りました。このようなブラウザで結果を作成しますDelphi webservice JSON array
http://localhost:8001/hello?json={"names":["Jay","Chris","John"]}
:
{ result: ["Hello Jay","Hello Chris","Hello John"], id: "", time_elapsed: 0 }
ください
さて、私は何をしたいのようなパラメータを指定して、コマンド/リクエストを作成することです、私は本当にこれに助けが必要です。誰ですか?
EDIT: これは私がちょうど今日やったコードですが、それはまだ私の所望の出力は表示されません:
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 }
コードに「Hello」が表示される場所はありません。そして、 'ResultValue:= TlkJSONlist.Create;'はN回実行されますが、上書きされます。 – mjn
はい、ありがとうございます。私はすでにコードを持っています。それをすべてに分かち合いましょう。 :) – jayAnn