Working as intended? See http://golang.org/pkg/encoding/json/#Marshal
"Anonymous struct fields are usually marshaled as if their inner exported fields were
fields in the outer struct, subject to the usual Go visibility rules amended as
described in the next paragraph. An anonymous struct field with a name given in its JSON
tag is treated as having that name, rather than being anonymous."