Skip to content

JSON Unmarshal: приоритеты полей

Если структура содержит анонимно вложенное поле struct, поле вложенной структуры будет повышено до уровня родительской структуры. Следовательно, JSON должен содержать значения полей родительского объекта.

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

Как видно из приведенного выше примера, обе структуры Account и Profile анонимно вложены внутрь структуры Student. В данные JSON мы добавили поля Followers структуры Profile основного объекта, но данные полей Account предоставляются через объект Account.

Из результата этой программы выше мы видим, что поле Account не было демаршалировано , потому что это поле является анонимно вложенной структурой, и она ожидала, что значения поля будут присутствовать в родительском объекте. То есть поля были переопределены.