Задать вопрос
@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 файл для хранения настроек и результатов работы для повторного запуска.
  • Вопрос задан
  • 283 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Инженер по тестированию
    5 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Яндекс Практикум
    Инженер по тестированию плюс
    9 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Таким же образом и анмаршалить, просто придётся из interface{} вытащить значение в нужный тип.

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

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

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

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