我创建了一个新的声明类型和添加的方法将值编组到JSONMarshalJSON一个字符串声明的类型
type TextOutput string
func (t *TextOutput) MarshalJSON() ([]byte, error) {
return []byte(fmt.Sprintf(`{"data": "%s"}`, t)), nil
}
当我尝试元帅我得到的原始值的返回类型的实例。我错过了什么?
var t TextOutput
t = `Test test`
output, err := json.Marshal(t)
if err != nil {
fmt.Println(err)
} else {
fmt.Println(string(output))
}
// prints Test Test. Expected {"data": "Test test"}
你的'UnmarshalJSON'方法在哪里? – Flimzy