Coerce JSON values returned by `data`

From the jQuery API documentation on `$.fn.data` [1]:

> Every attempt is made to convert the string to a JavaScript value
> (this includes booleans, numbers, objects, arrays, and null). A value
> is only converted to a number if doing so doesn't change the value's
> representation. For example, "1E02" and "100.000" are equivalent as
> numbers (numeric value 100) but converting them would alter their
> representation so they are left as strings. The string value "100" is
> converted to the number 100.

[1] http://api.jquery.com/data/