Ich habe diesen Code:
Code:
procedure TTabbedwithNavigationForm.DataToJSON;
var
Builder: TJSONObjectBuilder;
FileStream: TFileStream;
sPath: string;
StreamWriter: TStreamWriter;
Writer: TJsonTextWriter;
begin
sPath:= TPath.GetLibraryPath;
FileStream := TFileStream.Create(sPath+'data.json',fmCreate);
StreamWriter:= TStreamWriter.Create(FileStream);
Writer := TJsonTextWriter.Create(StreamWriter);
Writer.Formatting := TJsonFormatting.Indented;
Builder := TJSONObjectBuilder.Create(Writer);
Builder
.BeginObject
.BeginArray('Transaction')
.BeginObject.Add('id', 662713)
.Add('firstName', 'John')
.Add('lastName', 'Doe')
.Add('price', 2.1)
.AddNull('parent_id')
.Add('validated', true)
.BeginObject('protocol')
.Add('timestamp',DateTimeToStr(now))
.Add('action','plus')
.EndObject
.EndObject
.EndArray
.EndObject;
mmoLog.Lines.Add(Builder.AsJSON); <- Hier kommt die Meldung: Dieser Vorgang ist ohne zugewiesene Callback-Funktion nicht zulässig.
end;
Frage 1: Welche callback-Funktion ist da gemeint?
Frage 2: Ich möchte den JSON String haben, der in die Datei gespeichert wird. Mir gelingt bis jetzt nur eines von beiden: Entweder mit einem anderen Stream + dann habe ich den Text oder so wie hier, dann habe ich die Datei. Aber beides gleichzeitig?
Was übersehe ich?
Danke!