쿼리 문자열이 포함 된 URI를 디코딩해야합니다. 예상 입력/출력 동작은 같은 것입니다 다음Java에서 URI 쿼리 문자열 디코딩
abstract class URIParser
{
/** example input:
* something?alias=pos&FirstName=Foo+A%26B%3DC&LastName=Bar */
URIParser(String input) { ... }
/** should return "something" for the example input */
public String getPath();
/** should return a map
* {alias: "pos", FirstName: "Foo+A&B=C", LastName: "Bar"} */
public Map<String,String> getQuery();
}
을 내가 java.net.URI를 사용하여 시도했지만, 내가 별명 = POS & FIRSTNAME = "왼쪽있어 위의 예에서, 그래서 쿼리 문자열을 디코딩 보인다 Foo + A & B = C & LastName = Bar "이므로"& "이 쿼리 구분 기호인지 쿼리 구성 요소의 문자인지 여부가 모호합니다.
편집 : 난 그냥 URI.getRawQuery()을 시도하고 인코딩을하지 않습니다, 그래서 &
와 쿼리 문자열을 분할 할 수 있습니다, 그러나 나는 무엇을해야합니까? Javascript에 decodeURIComponent이 있습니다. 자바에서 해당 메소드를 찾을 수 없습니다.
제안 사항? 나는 새로운 라이브러리를 사용하지 않는 것을 선호한다.
의 대답에 따라 URLDecoder 기능을 래핑하는 도우미 클래스를 만들어
새로운 libs를 소개하기 위해이 URI를받는 환경을 물어봐도 될까요? – stacker