URI 문자열을 구성 요소로 구문 분석하는 것은 웹 개발의 일반적인 작업입니다. 이 작업을 수행하기 위해 Java는 여러 내장 기능과 외부 라이브러리를 제공합니다. 이 기사에서는 외부 종속성을 사용하지 않고 URI 문자열을 구문 분석하는 Java 기반 솔루션에 중점을 둡니다.
URI의 쿼리 부분에는 '&' 성격. 이러한 매개변수를 맵으로 구문 분석하려면 다음 방법을 사용할 수 있습니다.
public static Map<String, String> splitQuery(URL url) throws UnsupportedEncodingException { Map<String, String> query_pairs = new LinkedHashMap<>(); String query = url.getQuery(); String[] pairs = query.split("&"); for (String pair : pairs) { int idx = pair.indexOf("="); query_pairs.put(URLDecoder.decode(pair.substring(0, idx), "UTF-8"), URLDecoder.decode(pair.substring(idx + 1), "UTF-8")); } return query_pairs; }
주어진 URL을 예로 사용:
https://google.com.ua/oauth/authorize?client_id=SS&response_type=code&scope=N_FULL&access_type=offline&redirect_uri=http://localhost/Callback
SplitQuery 메소드는 다음 맵을 반환합니다:
{client_id=SS, response_type=code, scope=N_FULL, access_type=offline, redirect_uri=http://localhost/Callback}
이 방법에는 매개변수 값에 있는 특수 문자를 처리하기 위한 URL 디코딩이 포함되어 있습니다.
방법의 업데이트된 버전이 제공되었습니다. 여러 매개변수에 동일한 키가 있는 시나리오를 처리합니다. 이 버전은 Map
간결하고 효율적인 솔루션을 위해 람다 표현식과 스트림을 활용하는 Java 8 구현도 가능합니다.
splitQuery 메서드를 사용하면 URI 쿼리 문자열을 구성 요소 이름-값 쌍으로 쉽게 구문 분석할 수 있습니다. 외부 라이브러리에 의존하지 않고. 이 기능은 사용자 입력 추출 또는 RESTful 엔드포인트에서 매개변수 검색과 같은 다양한 웹 개발 작업에 필수적입니다.
위 내용은 외부 라이브러리 없이 Java에서 URI 쿼리 문자열을 이름-값 쌍으로 구문 분석하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!