这是比我上一个更好的答案。
type FakeBook Bookfunc (b Book) MarshalJSON() ([]byte, error) { return json.Marshal(struct { FakeBook Genre string }{ FakeBook: FakeBook(b), Genre: "Satire", })}由于匿名结构字段是“合并的”(有一些其他注意事项),我们可以使用它来避免重新映射各个字段。请注意,使用该
FakeBook类型可以避免发生无限递归。
游乐场:http:
//play.golang.org/p/21YXhB6OyC



