-
Couldn't load subscription status.
- Fork 32
Open
Description
If a JSON stream contains an integer number, SimdJsonParser will throw a parse exception if it's given a schema where that number is represented as a double. This applies to bare numbers, object values, and array entries:
// All of these throw a parse exception
double rawDouble = new SimdJsonParser().parse("1".getBytes(UTF_8), 1, double.class);
double[] array = new SimdJsonParser().parse("[1, 2]".getBytes(UTF_8), 6, double[].class);
HasDouble box = new SimdJsonParser().parse("{\"value\": 1}".getBytes(UTF_8), 12, HasDouble.class);
record HasDouble(double value) {}As far as I can tell, this is because NumberParser.parseDouble requires double literals to either have a decimal point or exponent part. Should that be the case? I would expect integer number values to be permitted, since they can always be widened to doubles
Metadata
Metadata
Assignees
Labels
No labels