Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Json Superobject Fragen/ Problem

  Alt 3. Feb 2016, 08:33
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)
  Mit Zitat antworten Zitat