JSONFormattable incorrectly sets a string starting with digit as int
JSONFormattable::set calls JSONParser::parse() to check if the given string
is a valid JSON object, which internally uses json_spirit::read to determine
the string type and copy it into data.
This routine incorrectly sets data type to integer if the string starts with
digit and copies only the first set of numeric values of the string.
To work-around this issue, verify if the entire string is parsed to
determine if its valid json data type.