Методы Marshal и Encode при работе с JSON в Golang отличаются по своим функциям и назначению:
Таким образом, Marshal оперирует массивами байтов, а Encode предназначена для работы с потоками данных и предпочтительна в ситуациях, когда требуется обрабатывать данные на лету, ещё до их полного получения, или когда работа ведётся с потоковыми данными. 4