full media data type with JSON deserialization