私は新しい宣言された型を作成し、私は生の値が返され得るタイプのインスタンスをマーシャリングしようとすると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