Einzelnen Beitrag anzeigen

Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.164 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Wie kann man Klassen-Felder in eine Json-Datei speichern

  Alt 28. Dez 2022, 13:23
@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.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat