我創建了一個新的聲明類型和添加的方法將值編組到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