Je dirais personnellement tous ces termes sont synonymes mais moins avec le codage/décodage. Dans Go Marshal et Unmarshal se trouvent être les termes qui sont utilisés pour décrire la conversion de json sous forme de chaîne à un objet et vice versa. Cependant, en C#, ces mêmes méthodes sont appelées serialize et deserialize, pour autant que je sache que la terminologie n'est pas du tout en Go (du moins dans les bibliothèques std lib).
L'encodage peut être utilisé comme un adjectif pour décrire le format dans lequel certaines données sont stockées, l'utilisation la plus courante est probablement le codage de caractères (UTF-8). Dans Go, il est également utilisé comme un nom pour décrire des objets qui peuvent démarsaliser/marshall json. Marshal/Unmarshal sont toujours utilisés comme verbes, vous prenez cette action sur le json.
L'encodage est également utilisé dans Go pour faire référence à une catégorie plus importante de packages qui traitent de la conversion d'un encodage à un autre. Si vous me disiez que vous étiez en train de rassembler, rassembler, désérialiser ou sérialiser un objet ou un json, je comprendrais exactement ce que vous vouliez dire. Si vous avez dit que vous étiez en train de coder un objet, je vous poserais une question de clarification. Si vous avez dit que la "réponse est codée en json", j'obtiendrais ce que vous voulez dire, bien que je pense qu'il est étrange que vous utilisiez ces mots plutôt que de simplement dire "la réponse est json". J'espère que c'est plus ou moins l'information que vous cherchez.
Oh aussi, juste pour plus de clarté
Unmarshal == deserialize == decode
Marshal == serialize == encode
@ Tim, pourquoi vous n'avez pas encore choisi * la * réponse? Toujours insatisfait? – xpt