La sérialisation c'est la transformation d'une structure complexe en un série d'octets (souvent texte) de sorte à conserver la description de la structure.
une sérialisation implique la possibilité de désérialiser
exemple
1 2 3 4 5 6 7
| a = {
field1: 45,
field2: {
champ1:12,
champ2:15
}
} |
nous avons un objet structuré
maintenant nous devons le passer dans un processus (enregistrement reseau etc.) qui ne prend que des octets les un à la suite des autres.
si nous trasmettons les valeurs
nous n'avons plus la structure et si nous ne la connaissons pas par ailleurs nous ne pouvons reconstruire la structure initiale
il ne s'agit donc pas d'une sérialisation (bien que nous ayons mis l'objet en série
il nous faut véhiculer la structure avec par exemple
a o { field1 i, fiedl2 o {champ1 i, champ2 i}}45,12,15
dans ce cas nous transmetons la structure et les données nous pouvons donc reconstruire l'objet. notez que c'es purement descriptif.
dans cet exemple nous avons séparé la structure des données c'est surtout utilisé dans les système qui manipuble beaucoup d'élément d'une même structure
par exemple in insert SQL
INSERT (a, b) INTO table1 ((12,15),(25,32),(56,NULL));
là la sérialisation sert à transmettre un ordre au moteur de la base et lui décrit la structure avant de lui donner toute les donnée.
mais le plus souvant la sérialisation tilise une description insitu de la structure.
<a><field1>45</field1><field2><champ1>12</champ1><champ2>15</champ2></field2><a>
cela permet de reconstruire à la volée mais aussi de reconstruire qu'une parie du flux.
enfin le text de votre code source est un version sérialisé du javascript que vous cherché à implémenter. il est parfaitement réalisable de générer un code source donc de sérialiser une fonction javascript qui est un objet relativemen tcomplexe
A+JYT
Partager