Protocol adapter pattern is similar to Canonical mapper but expanded to an entire system and more concerned with consistent behavior than performance.  

Here's a medical insurance application I created in 2008:

Partners, Government and Suppliers send a set of data objects (JSON) which are similar but not identical.  We convert them into an internal canonical form used uniformly within the applications and functions of the system.  After processing, data objects are reformatted or created into their original formats and returned.