В parse2
декодер игнорирует значение Person
, поскольку оно не адресуется. Декодер декодирует до значения interface{}
, потому что оно адресуемое.
Исправьте проблему, передав адресу Person
функции.
Используйте этот код:
func parse2() {
var value interface{}
value = &Person{} // add & on this line
json.Unmarshal(source, &value)
fmt.Println(value)
}
или этот код:
func parse2() {
var value interface{}
value = &Person{} // add & on this line
json.Unmarshal(source, value) // remove & on this line
fmt.Println(value)
}