@Bbommel,
danke für den Hinweis
, ich hatte das auch schon gesehen. HAbe mich momentan (vorläufig) auf
TJsonTextWriter
und
TStringWriter
festgelegt. Auch kann man sich so leicht eine mehrschichtige Struktur der Json-Datei aufbauen und die Datei lässt sich direkt formatieren, wenn gewünscht.
Delphi-Quellcode:
...
VAR
Writer: TJsonTextWriter;
StringWriter: TStringWriter;
BEGIN
StringWriter := TStringWriter.Create( );
Writer := TJsonTextWriter.Create( StringWriter );
Writer.Formatting := TJsonFormatting.Indented;
Try
Writer.WriteStartObject;
Writer.WritePropertyName( 'Database' );
Writer.WriteStartObject;
Writer.WritePropertyName( 'ServerName' );
Writer.WriteValue( JsonDatabaseParam.ServerName );
Writer.WritePropertyName( 'DBAdminUser' );
Writer.WriteValue( JsonDatabaseParam.DBAdminUser );
Writer.WritePropertyName( 'DatenbankName' );
Writer.WriteValue( JsonDatabaseParam.DatenbankName );
Writer.WritePropertyName( 'Password' );
Writer.WriteValue( JsonDatabaseParam.Password );
Writer.WritePropertyName( 'DatenbankProvider' );
Writer.WriteValue( JsonDatabaseParam.DatenbankProvider );
Writer.WriteEndObject;
Writer.WritePropertyName( 'System' );
Writer.WriteStartObject;
...
Writer.WriteEndObject;
Writer.WriteEndObject;
FINALLY
StringWriter.Free;
Writer.Free;
END;
...
Trotzdem habe ich angefangen mich in die Neon-Library einzuarbeiten, da ich in Zukunft wohl häufiger mit Json zu tun habe werde. Und das de- und serialisieren von ganzen Klassen scheint damit leicht möglich.