Schreibe dir erst eine Struktur, wie die Datei aussehen soll
Delphi-Quellcode:
unit Unit1;
interface
uses
superobject;
(*****************************************************************************
* {
* "zahlungsmittel": "Bankomat",
* "nachbonieren": true,
* "positionen": [
* {
* "bezeichnung": "Rechnung Nr. 24",
* "menge": 1,
* "einzelpreis": 12000,
* "ust": 19
* },
* {
* "bezeichnung": "Rechnung Nr. 24",
* "menge": 1,
* "einzelpreis": 2000,
* "ust": 19
* ]
* }
*****************************************************************************)
type
TPositionJSON =
record
private
[ SOName( '
bezeichnung' ) ]
FBezeichnung:
string;
[ SOName( '
menge' ) ]
FMenge: Integer;
[ SOName( '
einzelpreis' ) ]
FEinzelPreis: Integer;
[ SOName( '
ust' ) ]
FUmsatzSteuer: Currency;
function GetEinzelPreis: Currency;
procedure SetEinzelPreis(
const Value: Currency );
public
property Bezeichnung :
string read FBezeichnung
write FBezeichnung;
property Menge : Integer
read FMenge
write FMenge;
property Einzelpreis : Currency
read GetEinzelPreis
write SetEinzelPreis;
property UmsatzSteuer: Currency
read FUmsatzSteuer
write FUmsatzSteuer;
end;
TWhateverJSON =
class
private
[ SOName( '
zahlungsmittel' ) ]
FZahlungsmittel:
string;
[ SOName( '
nachbonieren' ) ]
FNachbonieren: Boolean;
[ SOName( '
positionen' ) ]
FPositionen: TArray<TPositionJSON>;
public
property Zahlungsmittel:
string read FZahlungsmittel
write FZahlungsmittel;
property Nachbonieren : Boolean
read FNachbonieren
write FNachbonieren;
property Positionen : TArray<TPositionJSON>
read FPositionen
write FPositionen;
end;
implementation
{ TPositionJSON }
function TPositionJSON.GetEinzelPreis: Currency;
begin
Result := FEinzelPreis / 100;
end;
procedure TPositionJSON.SetEinzelPreis(
const Value: Currency );
begin
FEinzelPreis := Value * 100;
end;
end.
dann fülle die Struktur mit Leben und einfach durch SO jagen, fertig.
Delphi-Quellcode:
uses
superobject;
var
lWE : TWhateverJSON;
begin
lWE := TWhatever.Create;
// Datein in lWE rein
lWE.ToJSON().SaveToFile( 'foo.json' );
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)