Как преобразовать структуру в JSON?
Добавлю. Чтобы json выводил поля с маленькой буквы, надо прописать тег.type Department struct {
  Id int `json:"id"`
  Name string `json:"name"`
  Phone string `json:"phone"`
}
`json:"name"` - вместо name можно написать что угодно, в json это поле будет под таким именем.
Например:type Department struct {
  Id int `json:"id"`
  Name string `json:"name"`
  Phone string 
  AnyField string `json:"part"`
}
выведет{id: 123, name: "Имя", Phone: "123", part: "AnyField"}
Поля, названные с маленькой буквы считаются private, поэтому в json не попадают. Таким же образом работают имена переменных в пакете, например. Читайте основы.