![]() |
Json Superobject Fragen/ Problem
Hallo zusammen,
Ich muss ein Json File erstellen der folgende Struktur hat.
Code:
Ich Habe im Netz "Superobject" gefunden und versucht damit die Json Files zu erstellen.
{
"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 ] } Leider habe ich ein Problem, dass ich die Struktur bzw. Reihenfolge nicht hinbekomme. Die Bezeichnungen sind Variabel Hier mein Beispielcode Code: Benutze Delphi XE2 Pro
Delphi-Quellcode:
Ich hoffe Ihr könnt mir helfen.
//...
var json, json_sub: ISuperObject; begin json := SO; json.S['zahlungsmittel'] := 'Bar'; json.O['positionen'] := SA([]); json.s['Bezeichnung'] := 'P1'; json.s['menge'] := '1'; json.s['einzelpreis'] := '1490'; //json.S['zahlungsmittel'] := 'Bar'; //json.O['zahlungsmittel'] := SA([]); json.SaveTo(Belegname+'.json'); json := nil; json_sub := nil; end; Gruß Pet PS hatte mit Json noch nichts zu tun. |
AW: Json Superobject Fragen/ Problem
Schreibe dir erst eine Struktur, wie die Datei aussehen soll
Delphi-Quellcode:
dann fülle die Struktur mit Leben und einfach durch SO jagen, fertig.
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.
Delphi-Quellcode:
uses
superobject; var lWE : TWhateverJSON; begin lWE := TWhatever.Create; // Datein in lWE rein lWE.ToJSON().SaveToFile( 'foo.json' ); end; |
AW: Json Superobject Fragen/ Problem
wie bekomme ich nun die Positionen mit Daten gefüllt.
lWE.FPositionen ??? |
AW: Json Superobject Fragen/ Problem
Zitat:
Delphi-Quellcode:
versuchen.
public property
Delphi-Quellcode:
scheint mir ein aussichtsreicher Kandidat zu sein.
TWhateverJSON.Positionen
Dem einfach ein Array mit Positionen zuweisen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz