return readArrayFromArray(r, p, r._collectionBuilder);
case ID_STRING:
return fromString(p.getText());
case ID_NUMBER_INT:
{
NumberType n = p.getNumberType();
if (n == NumberType.INT) {
return Integer.valueOf(p.getIntValue());
}
if (n == NumberType.LONG) {
return Long.valueOf(p.getLongValue());
}
return p.getBigIntegerValue();
}
case ID_NUMBER_FLOAT:
if (!JSON.Feature.USE_BIG_DECIMAL_FOR_FLOATS.isEnabled(r._features)) {
NumberType n = p.getNumberType();
if (n == NumberType.FLOAT) {
return Float.valueOf(p.getFloatValue());
}
if (n == NumberType.DOUBLE) {
return Double.valueOf(p.getDoubleValue());