shpaker
@shpaker
Вольный хлебопашец

Как из структуры в Golang получить JSON лишь с заданными полями?

Допустим есть структура
type SampleStruct struct {
    Foo string `json:"foo"`
    Bar string `json:"bar"`
}
example := &SampleStruct{
    Foo: "foo foo foo",
    Bar: "bar bar bar",
}

Допустим есть потребность получать JSON данные иногда целиком, а иногда не целиком из структуры, а частично, например сделав Marshal мы получим на выходе нечто такое: {foo: "foo foo foo", bar: "bar bar bar"}, а если необходимо получить JSON только с частью полей, например что бы получить такое: {foo: "foo foo foo"}? Неужели выход в создании дополнительных структур?
  • Вопрос задан
  • 1291 просмотр
Решения вопроса 1
@kshvakov
Bar string `json:"bar,omitempty"`

если Bar пустое, то его не будет в json
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
winordie
@winordie
Лучшая документация -- исходники
type SampleStruct struct { 
    Foo string `json:"foo"` 
    Bar string `json:"-"` 
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы