Skip to content

JSON Unmarshal: использование тегов структуры

Теги полей структуры могут быть очень полезны для определения имен полей и критериев пропуска. Мы также можем использовать теги структуры для интерполяции имен полей JSON в имена полей struct.

Пришло время поработать с кодом!

В приведенной выше программе мы пометили все поля структуры соответствующими именами полей JSON. Однако у нас есть поле LastName с тегами json:"-", что означает, что это поле не будет рассматриваться для десортировки .

Как видно из приведенного выше результата, поле IsMale в JSON не было рассортировано, потому что оно помечено именем поля male. То же самое происходит с вложенным полем Followers.

К сожалению, вариант omitempty не работает. Ты мог ожидать, что функция Unmarshal будет игнорировать поле, если его значение находится в JSON null, просматривая значение параметра omitempty, но, к сожалению, это не так. Будем надеяться, что Go рассмотрит возможность добавления этой функции в будущем (: