in extensions/jsonp/src/main/java/org/apache/batchee/jsonp/JsonPartialReader.java [116:169]
private void parseArray(final JsonArrayBuilder builder) {
while (parser.hasNext()) {
final JsonParser.Event next = parser.next();
switch (next) {
case VALUE_STRING:
builder.add(parser.getString());
break;
case VALUE_NUMBER:
if (parser.isIntegralNumber()) {
builder.add(parser.getLong());
} else {
builder.add(parser.getBigDecimal());
}
break;
case START_OBJECT:
JsonObjectBuilder subObject = provider.createObjectBuilder();
parseObject(subObject);
builder.add(subObject);
break;
case START_ARRAY:
JsonArrayBuilder subArray = provider.createArrayBuilder();
parseArray(subArray);
builder.add(subArray);
break;
case END_ARRAY:
return;
case VALUE_NULL:
builder.addNull();
break;
case VALUE_TRUE:
builder.add(true);
break;
case VALUE_FALSE:
builder.add(false);
break;
case KEY_NAME:
throw new JsonParsingException("array doesn't have keys", parser.getLocation());
case END_OBJECT:
throw new JsonParsingException("'}', shouldn't occur", parser.getLocation());
default:
throw new JsonParsingException(next.name() + ", shouldn't occur", parser.getLocation());
}
}
}