func invokeMarshalJSON(w io.Writer, rv reflect.Value) error {
	blob, err := rv.Interface().(json.Marshaler).MarshalJSON()
	if err != nil {
		return err
	}
	_, err = w.Write(blob)
	return err
}
func invokeMarshalJSON(w io.Writer, rv reflect.Value) error {
	blob, err := rv.Interface().(json.Marshaler).MarshalJSON()
	if err != nil {
		return err
	}
	_, err = w.Write(blob)
	return err
}
func invokeMarshalJSON ( w io . Writer , rv reflect . Value ) error { blob , err := rv . Interface ( ) . ( json . Marshaler ) . MarshalJSON ( ) if err != nil { return err } _ , err = w . Write ( blob ) return err }
//----------------------------------------
// Misc.
// CONTRACT: rv implements json.Marshaler.
---------------------------------------- Misc . CONTRACT : rv implements json . Marshaler .