JSON parser should handle negative number

The JSON parse() method failed to parse the negative value -1.
Fixed issue and added unit tests around the case