I like Fog::JSON.decode because it handles all non-string values, but having to catch a MultiJson::LoadError exception for String values is less optimal. 

Aside from having to write my own decode method, is there a better way to do this?