type Claims … type NumericDate … // NewNumericDate constructs NumericDate from time.Time value. func NewNumericDate(t time.Time) *NumericDate { … } // MarshalJSON serializes the given NumericDate into its JSON representation. func (n NumericDate) MarshalJSON() ([]byte, error) { … } // UnmarshalJSON reads a date from its JSON representation. func (n *NumericDate) UnmarshalJSON(b []byte) error { … } // Time returns time.Time representation of NumericDate. func (n *NumericDate) Time() time.Time { … } type Audience … // UnmarshalJSON reads an audience from its JSON representation. func (s *Audience) UnmarshalJSON(b []byte) error { … } func (s Audience) Contains(v string) bool { … }