Depuis quelques versions déjà, Delphi propose la sérialisation JSON des objets Delphi, comme je travaille sur un projet qui exploite beaucoup ces notions, j'ai finalement décidé de créer ma propre unité que je livre en OpenSource
l'article suivant donne des explications que l'on trouve aussi dans l'application exemple téléchargeable en bas de page !
http://lookinside.free.fr/delphi.php?Delphi+XE8+et+JSON
EDIT: mise à jour pour corriger un petit bug et améliorer la syntaxe pour les types non objet.
EDIT: mise à jour pour exploiter quelque chose que je ne connaissais pas, l'inférence de type sur les generic:
quand on déclare le type générique au niveau de la classe, on doit obligatoirement déclarer le type pour faire appel à la méthode
Alors qu'en plaçant le type générique sur la méthode, Delphi est capable de le déterminer tout seul !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 class function JSON<T>.fromJSON(const instance: T); // on doit utiliser par exemple begin JSON<string>.fromJSON('hello'); end;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 class function JSON.fromJSON<T>(const instance: T); begin JSON.fromJSON<string>('hello'); JSON.fromJSON('hello'); // on peut s'abstenir de déclarer explicitement le type ! end;
Partager