Sérialisation
Sérialisation (en anglais serialization) : transformation d'une structure de données en mémoire (objets, listes, nombres) en une suite d'octets ou de texte qu'on peut écrire dans un fichier ou envoyer sur le réseau, dans un format comme JSON, YAML ou Protocol Buffers. L'opération inverse, qui reconstruit la structure, est l'analyse (parsing) ou désérialisation.
Un outil comme jq ne modifie jamais le texte qu'il lit : il l'analyse, calcule sur des valeurs, puis sérialise le résultat à sa façon. Tout ce qui n'est pas porté par les valeurs disparaît ou change : indentation, espaces, échappements (\u00e9 devient é), parfois l'écriture des nombres. Deux fichiers JSON équivalents peuvent donc différer octet par octet ; pour les comparer, on les normalise (jq -S .) avant diff. La désérialisation de données non fiables est aussi une surface d'attaque (profondeur, taille, types inattendus).
Dans les cours
- Traiter du texte : grep, sed, awk, jq, leçon 7 : jq : interroger du JSON
- Traiter du texte : grep, sed, awk, jq, leçon 8 : jq : transformer, produire du JSON et choisir son outil