@SuppressWarnings("unchecked")
    public static <T> T parseObject(String input, Type clazz, ParseProcess processor, Feature... features) {
        return (T) parseObject(input, clazz, ParserConfig.global, processor, DEFAULT_PARSER_FEATURE, features);
    }
This method deserializes the specified Json into an object of the specified type. This method
is useful if the specified object is a generic type. For non-generic objects, use
{@link #parseObject(String, Class, Feature[])} instead. If you have the Json in a {@link InputStream} instead of
a String, use {@link #parseObject(InputStream, Type, Feature[])} instead.

@param <T> the type of the desired object
@param json the string from which the object is to be deserialized
@param type The specific genericized type of src. You can obtain this type by using the
{@link com.alibaba.fastjson.TypeReference} class. For example, to get the type for
{@code Collection<Foo>}, you should use:
<pre>
Type type = new TypeReference&lt;Collection&lt;Foo&gt;&gt;(){}.getType();
</pre>
@return an object of type T from the string
src/main/java/com/alibaba/fastjson/JSON.java