Как вы решаете проблему sql.NullString || sql.NullInt64?
Часто бывает в реляционных субд, что при выборе записей из бд возвращается поле со значением null.
Go не обрабатывает строки и числа как nil, по-этому есть вспомогательный тип sql.Null{type}
Но если возвращать данные в формате json, то следовательно использование данного типа становится не нужным так как, в javascript, есть null.
Сейчас я sql.NullString преобразовываю в ручную. Также есть вариант в самом sql возвращать не null, а пустую строку(если это строка),
но по каким-то соображением думаю в дальнейшем это будет сложно отлаживать.
Если Вам надо только пересылать данные из бд наружу в виде json'а то можно использовать одну и ту же структуру в качестве sql-модели и формата json. Тогда nullable поля делайте указателями на соответсвующие типы (*string, *int64), в стандартной либе они обрабатываются корректно и там где у Вас NULL в sql - в гошной структуре будет nil и в результирующем json - null.