json.Unmarshal aninhado objeto em string ou [] byte

Eu estou tentando Unmarshal alguns json para que um objeto aninhado não seja analisado, mas apenas tratado como umstring ou[]byte.

Então eu quero pegar o seguinte:

{
    "id"  : 15,
    "foo" : { "foo": 123, "bar": "baz" }
}

Desdobrado em:

type Bar struct {
    Id  int64  `json:"id"`
    Foo []byte `json:"foo"`
}

Estou tendo o erro a seguir:

json: cannot unmarshal object into Go value of type []uint8

demonstração de recreio

questionAnswers(4)

yourAnswerToTheQuestion