Как вы решаете проблему sql.NullString || sql.NullInt64?

Часто бывает в реляционных субд, что при выборе записей из бд возвращается поле со значением null.
Go не обрабатывает строки и числа как nil, по-этому есть вспомогательный тип sql.Null{type}
Но если возвращать данные в формате json, то следовательно использование данного типа становится не нужным так как, в javascript, есть null.

Сейчас я sql.NullString преобразовываю в ручную. Также есть вариант в самом sql возвращать не null, а пустую строку(если это строка),
но по каким-то соображением думаю в дальнейшем это будет сложно отлаживать.

Как вы решаете данную проблему?
  • Вопрос задан
  • 1309 просмотров
Пригласить эксперта
Ответы на вопрос 1
Если Вам надо только пересылать данные из бд наружу в виде json'а то можно использовать одну и ту же структуру в качестве sql-модели и формата json. Тогда nullable поля делайте указателями на соответсвующие типы (*string, *int64), в стандартной либе они обрабатываются корректно и там где у Вас NULL в sql - в гошной структуре будет nil и в результирующем json - null.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы