@neitri

Как анмаршалить поле json если оно может принимать разный тип?

Использую структуру
type CustomColumn struct {
	ColName     string          `json:"ColName"`
	Description string          `json:"Description"`
	Type        string          `json:"Type"`
	Value       interface{}     `json:"Value"`
}

Данная структура нормально маршалится в json файл. Поле Value может принимать тип sql.NullFloat64 sql.NullInt64 или NullTime.
Как правильно анмаршалить полученный json?

P.S. Использую json файл для хранения настроек и результатов работы для повторного запуска.
  • Вопрос задан
  • 282 просмотра
Пригласить эксперта
Ответы на вопрос 1
Таким же образом и анмаршалить, просто придётся из interface{} вытащить значение в нужный тип.

https://tour.golang.org/methods/16

все числа из Json при анмаршалинге в interface{} превращаются в float64. Если нужен int, придётся ещё превратить его в int позже, после вытаскивания из interface{}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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