func (c *Cat) UnmarshalJSON(data []byte) error { return j2n.UnmarshalJSON(data, &c.CatData) }
func (d *Dog) UnmarshalJSON(data []byte) error { return j2n.UnmarshalJSON(data, &d.DogData) }