是否有Apache实用程序采用查询字符串和一些编码并返回键的映射,值[] url已解码?
答案 0 :(得分:8)
它已被弃用,但您可以使用HttpUtils.parseQueryString。
它将参数名称映射到值。如果参数出现多次,则该值为数组。
编辑:不推荐使用上述方法,因为它不允许您指定字符编码。
apache上的HttpClient项目拥有实现此目的所需的类。
使用URIUtil.decode(String data, String encoding)解码查询字符串。
然后ParameterParser.parse(String query, char separator)获取NameValuePair的列表。然后,您可以将它们放入Commons Collections MultiMap,并按参数名称键入。 (您可以使用常规哈希映射,但这需要更多代码来处理每个键的多个值。)
答案 1 :(得分:8)
如果您使用的是4.x版本的HttpClient,则需要使用URLEncodedUtils.parse()
。它需要一个URI(或字符串+ charset)并返回一个NameValuePairs列表。