Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Einzelne Objectvariable aus ObjectToJSON ausschließen (https://www.delphipraxis.net/213316-einzelne-objectvariable-aus-objecttojson-ausschliessen.html)

Hobbycoder 7. Jul 2023 15:31

Einzelne Objectvariable aus ObjectToJSON ausschließen
 
Hi,

kann ich irgendwie verhindern, dass eine einzelne Variable eines Objects von der Funktion ObjectToJSON aus der REST.Json-Library ausgeschlossen wird. Also das JSON hinterher ohne diesen Eintrag gebildet wird?

Uwe Raabe 7. Jul 2023 15:45

AW: Einzelne Objectvariable aus ObjectToJSON ausschließen
 
Ja, dazu musst du dem Feld ein
Delphi-Quellcode:
[JSONMarshalled(False)]
Attribut geben.

Hobbycoder 7. Jul 2023 18:06

AW: Einzelne Objectvariable aus ObjectToJSON ausschließen
 
Danke :-)

taveuni 11. Jul 2023 08:12

AW: Einzelne Objectvariable aus ObjectToJSON ausschließen
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1524330)
Ja, dazu musst du dem Feld ein
Delphi-Quellcode:
[JSONMarshalled(False)]
Attribut geben.

Hallo Uwe,
Ich habe:

Delphi-Quellcode:
type
  TDoorList = TObjectList<TTBADoor>;
  TDoorListInterceptor = TObjectListInterceptor<TTBADoor>;

type
  TDoors = class
    private
    [JSONOwned(False), JsonObjectList(TDoorListInterceptor)]
    FDoors: TDoorList;
    public
      property Doors: TDoorList read FDoors;
    constructor Create;
    destructor Destroy; override;
  end;
Wenn ich das deserialsiere mit TJson.ObjectToJsonString(TDoors)

erhalte ich das Json:
Code:
'{"doors":{"ownsObjects":true,"listHelper":[{"doorNumber":102,"lastUpdateGmt":"2023-07-11T07:55:13.862Z","wbTerm"........................
Wie kann ich das "ownsObjects":true,"listHelper" im Json vermeiden?

Uwe Raabe 11. Jul 2023 08:55

AW: Einzelne Objectvariable aus ObjectToJSON ausschließen
 
Kannst du dafür ein minimales Beispielprojekt machen?

taveuni 11. Jul 2023 10:39

AW: Einzelne Objectvariable aus ObjectToJSON ausschließen
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1524417)
Kannst du dafür ein minimales Beispielprojekt machen?

Hallo Uwe. Ich werde das bei Gelegenheit machen. Ich habe auf die Schnelle jetzt auf Neon gewechselt.
Vielen Dank
Gruss Werner

Uwe Raabe 11. Jul 2023 10:47

AW: Einzelne Objectvariable aus ObjectToJSON ausschließen
 
OK, habe ich erst übersehen:
Zitat:

Zitat von taveuni (Beitrag 1524413)
Delphi-Quellcode:
type
  TDoorList = TObjectList<TTBADoor>;
  TDoorListInterceptor = TObjectListInterceptor<TTBADoor>;

Das muss heißen:
Delphi-Quellcode:
type
  TDoorList = class(TObjectList<TTBADoor>);
  TDoorListInterceptor = class(TObjectListInterceptor<TTBADoor>);
Im GitHub Repo steht das auch im ReadMe:
Zitat:

The new attribute (JsonObjectListContactAttribute) as well as the new list (TContactList) must not be an alias - the class keyword is mandatory.

taveuni 11. Jul 2023 10:49

AW: Einzelne Objectvariable aus ObjectToJSON ausschließen
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1524424)
OK, habe ich erst übersehen:
Zitat:

Zitat von taveuni (Beitrag 1524413)
Delphi-Quellcode:
type
  TDoorList = TObjectList<TTBADoor>;
  TDoorListInterceptor = TObjectListInterceptor<TTBADoor>;

Das muss heißen:
Delphi-Quellcode:
type
  TDoorList = class(TObjectList<TTBADoor>);
  TDoorListInterceptor = class(TObjectListInterceptor<TTBADoor>);
Im GitHub Repo steht das auch im ReadMe:
Zitat:

The new attribute (JsonObjectListContactAttribute) as well as the new list (TContactList) must not be an alias - the class keyword is mandatory.

Oje...
Danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:16 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 by Thomas Breitkreuz