AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

JSON String to Object mit factory

Ein Thema von TigerLilly · begonnen am 6. Dez 2018 · letzter Beitrag vom 11. Dez 2018
Antwort Antwort
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.690 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: JSON String to Object mit factory

  Alt 11. Dez 2018, 08:54
Deutsch oder Englisch? Schon mal google mit diversen Fragen bemüht? "JSON Delphi instantiate class name"
Sven Harazim
--
  Mit Zitat antworten Zitat
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
496 Beiträge
 
Delphi 12 Athens
 
#2

AW: JSON String to Object mit factory

  Alt 11. Dez 2018, 09:48
Da JS Ducktyped ist, also du überhaupt keine "Klassen" im ängeren Sinne hast, geht das leider nicht so ohne weiteres. Du müsstest halt vorher genau definieren, bei welchem Property-Set welche Klasse benutzt werden soll. Diese musst du vorher dann registrieren. Delphi erlaubt kein Erzeugen anonymer Klassen zur Laufzeit (zumindest nicht so einfach). Das Mappen einer JSON auf ein Klassenobjekt hingegen ist aber denkbar einfach: Entweder du benutzt JsonToObject (falls das so hieß, kann auch sein dass ich den Namen jetzt nicht mehr genau im Kopf hab), oder du iterierst das selber, mit einem der unzähligen JSON-Parsern/Lexern, die Delphi hat oder die es im Internet gibt.
Dennis
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#3

AW: JSON String to Object mit factory

  Alt 11. Dez 2018, 10:03
Das Zauberwort ist polymorphic und damit lässt sich dann für Delphi das finden

GRIJJY Blog: Efficient and easy-to-use JSON and BSON library (sieht Abschnitt Polymorphism)
Delphi-Quellcode:
var
  Dog: TDog;
  Animal, Rehydrated: TAnimal;
  Json: String;
begin
  Dog.Weight := 30;
  Dog.FurColor := 'Blond';
  Animal := Dog;
  TgoBsonSerializer.Serialize(Animal, Json); // Result:
  // { "_t" : "TDog", "Weight" : 30.0, "FurColor" : "Blond" }

  TgoBsonSerializer.Deserialize(Json, Rehydrated);
  // This will actually create a TDog instance (instead of TAnimal)
end;
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.251 Beiträge
 
Delphi 12 Athens
 
#4

AW: JSON String to Object mit factory

  Alt 11. Dez 2018, 11:37
Danke für die vielen Hinweise, aber das war´s leider nicht. :- (

Aber kein Problem, ich weiß ungefähr worum´s ging + das ist das wichtigste. Danke trotzdem.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 20:51 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