Ja, man müsste sich das begonnene Array merken:
Delphi-Quellcode:
procedure buildObject(const builder: TJSONObjectBuilder);
const
values: TArray<Single> = [3.14, -99, 0, 12, 17];
var
jsonObject: TJSONObjectBuilderPairs;
jsonArray: TJSONArrayBuilderElements;
value: Single;
begin
jsonObject := builder.BeginObject();
jsonArray := jsonObject
.Add('text', 'Hello World')
.Add('someNumber', 42)
.BeginArray('values');
for value in values do
jsonArray.Add(value);
jsonArray.EndArray();
jsonObject
.Add('some final text', 'this was added after the array')
.EndObject();
end;
(
Vollständiger Code)
Und ja,
das ist nicht wirklich übersichtlicher als es "klassisch" zu machen, so wie du es momentan schon hast. Trotzdem, bei einfachen Dingen, das in einem Rutsch so durchzuziehen - Da kann man doch nichts gegen haben. Hat doch sicher jeder schon mal mit einem
TStringBuilder
auch so gemacht...