Why not use marshal directly? Because you want to have a string instead of []byte?