Имена ключей JSON в нижнем регистре с JSON Marshal в Go

Я хочу использовать пакет "encoding/json"для маршалинга структуры, объявленной в одном из импортированных пакетов моего приложения.

Например.:

type T struct {
    Foo int
}

Поскольку она импортирована, все доступные (экспортированные )поля в структуре начинаются с заглавной буквы. Но я хочу иметь имена ключей в нижнем регистре:

out, err := json.Marshal(&T{Foo: 42})

приведет к

{"Foo":42}

но я хочу получить

{"foo":42}

Можно ли решить проблему простым способом?

157
задан Flimzy 20 June 2017 в 12:50
поделиться