encoding/json. Теги и обработка ошибок.

Ответ

Маршалинг и анмаршалинг с тегами json. Ошибки: при Unmarshal неверного типа возвращается ошибка; можно проверить json.UnmarshalTypeError. При неизвестных полях по умолчанию они игнорируются; Decoder.DisallowUnknownFields() запрещает лишние поля. Числа с плавающей точкой по умолчанию - float64; большие целые теряют точность в float - использовать json.Number или string.

dec := json.NewDecoder(r)
dec.DisallowUnknownFields()
var v MyType
if err := dec.Decode(&v); err != nil { ... }
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.