tree cad0e8d7d1b68f6ab351924c3e6a7af6f810e13e
parent 21a35fb16463dfb7c8eee579c65d995d95e64d1e
author Jeff Mitchell <jeffrey.mitchell@gmail.com> 1470676252 -0400
committer Jeff Mitchell <jeffrey.mitchell@gmail.com> 1470676252 -0400

Handle json.Number values.

In order to prevent the JSON decoder from converting all values to
`float64`, which causes a number of problems, one must set `UseNumber` on
a JSON decoder which tells it to unmarshal as `json.Number` values.
These can then be converted to ints, floats, or used as strings.

However, although setting this value is very common, mapstructure cannot
currently decode from a `map[string]interface{}` containing a
`json.Number` to a struct with those values represented as int or float.

This adds code and test cases to correctly decode a json.Number into an
int or float as expected. It does not decode into uint, although this
could be handled, since json.Number does not natively decode into an
unsigned int.
