Какие входные данные JSON можно использовать?
Используйте объект JSON или любой непустой массив JSON. Массив верхнего уровня превращается в именованный срез, а каждый объект в массиве участвует в определении полей. Имена свойств должны быть представимы тегами структур стандартного пакета encoding/json в Go; неподдерживаемые имена вызывают ошибку, а не изменяются без предупреждения.