private Object parse()

in geronimo-openapi-impl/src/main/java/org/apache/geronimo/microprofile/openapi/impl/processor/AnnotationProcessor.java [1060:1083]


    private Object parse(final String value) {
        try (final JsonReader reader = jsonReaderFactory.createReader(new StringReader(value))) {
            final JsonValue jsonValue = reader.readValue();
            switch (jsonValue.getValueType()) {
                case NULL:
                    return null;
                case TRUE:
                case FALSE:
                    return JsonValue.TRUE.equals(jsonValue);
                case NUMBER:
                    final JsonNumber number = JsonNumber.class.cast(jsonValue);
                    final double doubleValue = number.doubleValue();
                    if (doubleValue == number.intValue()) {
                        return number.intValue();
                    }
                    if (doubleValue == number.longValue()) {
                        return number.longValue();
                    }
                    return doubleValue;
                default:
                    return jsonValue;
            }
        }
    }