json.Unmarshal and similar functions if the argument that is passed
to store the result is not a pointer or an interface.
These calls will fail and return an error.
For more information about Unmarshal, refer to func Unmarshal at
go.dev.
Example:
var animals []Animal
err := json.Unmarshal(jsonData, animals) // always returns an error
After the Prepend '&' quick-fix is applied:
var animals []Animal
err := json.Unmarshal(jsonData, &animals)