(that's not actually why Google+ returns HTML in the `content` field)

Another approach would be to implement the `json.Marshaler` interface, and do this type-specific unmarshalling inside of a custom `UnmarshalJSON` function.  That should allow for:

```go
type Event struct {
  ...
  Payload interface{} `json:"payload,omit_empty"`
}
```