Go

Кодування JSON

json.Marshal, json.Unmarshal, struct tags, custom marshaling, streaming, RawMessage

20 питань зі співбесід·
Mid-Level
1

Яка функція дозволяє закодувати Go struct у JSON?

Відповідь

json.Marshal кодує Go struct у байти JSON. Ця функція читає struct tags для налаштування серіалізації (перейменування, пропуск полів). Для стрімінгу в io.Writer використання json.NewEncoder дозволяє уникнути створення проміжного буфера в пам'яті.

2

Яка функція дозволяє декодувати JSON у Go struct?

Відповідь

json.Unmarshal декодує байти JSON у Go struct. Потрібно передати вказівник на цільову struct, щоб дані були записані правильно. Для стрімінгу з io.Reader json.NewDecoder ефективніший, оскільки уникає завантаження всього JSON у пам'ять.

3

Який JSON struct tag дозволяє перейменувати поле під час серіалізації?

Відповідь

Тег json:"custom_name" дозволяє перейменувати поле під час серіалізації JSON. Наприклад, поле UserID може стати user_id у JSON. Це корисно для дотримання угод про іменування (snake_case у JSON проти CamelCase у Go).

4

Який JSON struct tag повністю виключає поле з серіалізації?

5

Який JSON struct tag дозволяє пропустити поле, якщо його значення порожнє?

+17 питань зі співбесід

Опануй Go для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно