Overloaded get*Val methods to fall back to a provided default if the
object is not found in the json object.
Makes use of the provided has(String key) method before attempting
getter on the json object