Danke und klar, aber ich hasse es einfach, wenn ich etwas nicht hinbekomme. Aber folgendes könnte doch ein Ansatz sein. Ich bekomme aber immer nur 1 Objekt hin
Ergebnis:
sende:
{
"wowarer": [
{
"id": "0",
"location": "ort: 0"
}
]
}
Hmm..
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
function GetPairs : String;
var
o: TJSONObject;
begin
// je datensatz ein objekt..
for var i : integer := 0 to 2 do begin
o := TJSONObject.Create;
o.AddPair('id',i.ToString);
o.AddPair('location','ort: ' + i.ToString);
result := result + o.ToJSON;
o.free;
end;
end;
var
StringWriter: TStringWriter;
Writer: TJsonTextWriter;
Builder: TJSONObjectBuilder;
begin
// entspr. objekte erstellen..
StringWriter := TStringWriter.Create();
Writer := TJsonTextWriter.Create(StringWriter);
Builder := TJSONObjectBuilder.Create(Writer);
// json-antwort aufbereiten..
try
// json-objekte ins json-format formatieren?? (none = std)
Writer.Formatting := TJsonFormatting.Indented;
Builder
.BeginObject
.BeginArray('wowarer')
.BeginObject
.AddPairs(GetPairs)
.EndObject
.EndArray
.EndObject;
memo1.Lines.Add('sende:' + sLineBreak + StringWriter.ToString);
finally
Builder.Free;
Writer.Free;
StringWriter.Free;
end;
end;