Currently ReadNumber() follows a number of wrong assumptions that are not as published by the JSON standard.
For instance, single JSON numbers aren't accepted as valid JSON.
is valid JSON. Although, as the parser expects a closing character, it fails to recognize this as a number.