static <T> T parseObject(URL url, Class<T> objectClass, JSONReader.Feature... features) {
        if (url == null) {
            return null;
        }

        try (InputStream is = url.openStream()) {
            return parseObject(is, objectClass, features);
        } catch (IOException e) {
            throw new JSONException("JSON#parseObject cannot parse '" + url + "' to '" + objectClass + "'", e);
        }
    }
Parses the json stream of the url as {@link T}.
Returns {@code null} if received {@link URL} is {@code null}.

@param url the specified url to be parsed
@param objectClass the specified class of {@link T}
@param features the specified features is applied to parsing
@return {@link T} or {@code null}
@throws JSONException If an I/O error or parsing error occurs
@see URL#openStream()
@see JSON#parseObject(InputStream, Type, JSONReader.Feature...)
@since 2.0.9
core/src/main/java/com/alibaba/fastjson2/JSON.java