AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

gibt es was wie RecordToJsonString

Ein Thema von charly52 · begonnen am 13. Aug 2022 · letzter Beitrag vom 16. Aug 2022
Antwort Antwort
charly52

Registriert seit: 2. Sep 2018
Ort: Salem, Baden
102 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

gibt es was wie RecordToJsonString

  Alt 13. Aug 2022, 17:35
Hi all,

gibt es sowas wie

lValue:= TJSON.ObjectToJsonString(BDatClass, [joIndentCaseCamel, joDateIsUTC]);

beim Delphi auch für Records?
Ich würde gerne statt dem Objekt BDatClass eine Recordvariable verwenden können.
Oder gibt es sowas wie Uwe Raabe seine Helper die das können?

Charly
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.452 Beiträge
 
Delphi 12 Athens
 
#2

AW: gibt es was wie RecordToJsonString

  Alt 13. Aug 2022, 17:43
Sowas wie einen record in Delphi gibt es in der JSON-Notation nicht. Ich vermute mal, du möchtest einen record wie eine class umgesetzt haben, aber das wird bislang von den Bordmitteln nicht unterstützt.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: gibt es was wie RecordToJsonString

  Alt 14. Aug 2022, 00:05
Du könntest das in den meisten Fällen per RTTI behandeln. Ansonsten bestünde auch die Möglichkeit, den Record mit einer function AsJSON : string zu erweitern und dort das JSON zu erzeugen. Die kann gerne auch in einem Record helper sitzen.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
charly52

Registriert seit: 2. Sep 2018
Ort: Salem, Baden
102 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: gibt es was wie RecordToJsonString

  Alt 15. Aug 2022, 14:44
Ansonsten bestünde auch die Möglichkeit, den Record mit einer function AsJSON : string zu erweitern und dort das JSON zu erzeugen. Die kann gerne auch in einem Record helper sitzen.
Wie könnte das aussehen? Ich habe an der Front noch keinen blassen Schimmer.

Delphi-Quellcode:
type

TRec3 = record
          xyz: Integer;
          abc: boolean;
end;

TArr1 = Array[1..5] of TRec3;


TRecord2 = record
              int1: Integer;
              str3: String;
end;

TRecord = record
            str1: String;
            rec2: TRecord2;
            arr1: TArr1;
end;

var
  myRecVar : TRecord;
  myJSONString: String;
Könnte ich mit was von dir beschriebenen dann sowas nutzen?

myJSONString:= RecordToJsonString(myRecVar, ....); und was muss in TRecord alless rein?
Gibt es dazu ein schönes Beispiel?

Danke

Geändert von charly52 (15. Aug 2022 um 14:48 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: gibt es was wie RecordToJsonString

  Alt 15. Aug 2022, 23:54
Die Erweiterung von Records durch Methoden z.b. In denen baust Du dann dein JSON zusammen. Ist natürlich nur eine Einmal-Lösung, da Records keine Vererbung unterstützen.

Delphi-Quellcode:
TRec3 = record
    xyz: Integer;
    abc: boolean;
    function ToJSON : string;
  end;

  TArr1 = Array [1 .. 5] of TRec3;
  TRecord2 = record
     int1: Integer;
     str3: String;
     function ToJSON : string;
  end;

  TRecord = record
    str1: String;
    rec2: TRecord2;
    arr1: TArr1;
    function ToJSON : string;
  end;
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
charly52

Registriert seit: 2. Sep 2018
Ort: Salem, Baden
102 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: gibt es was wie RecordToJsonString

  Alt 16. Aug 2022, 09:59
Danke,


Charly
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz