public static <T> T evaluate(Object json, String jsonPath, Predicate... filters) throws Exception {
		if (json instanceof String) {
			return JsonPath.read((String) json, jsonPath, filters);
		}
		else if (json instanceof File) {
			return JsonPath.read((File) json, jsonPath, filters);
		}
		else if (json instanceof URL) {
			return JsonPath.read((URL) json, jsonPath, filters);
		}
		else if (json instanceof InputStream) {
			return JsonPath.read((InputStream) json, jsonPath, filters);
		}
		else {
			return JsonPath.read(json, jsonPath, filters);
		}

	}
Similar to {@code org.springframework.integration.json.JsonPathUtils}, but compatible with newer versions of
json-path that expect a Predicate vararg.

@author Eric Bottard
@author Artem Bilan
spring-xd-dirt/src/main/java/org/springframework/xd/dirt/integration/json/NewJsonPathUtils.java