Njvdev:
:私は、次の形式であるパースHTTPレスポンスボディに希望 list[]=a&list[]=b&list[]=c&list[]=d&list[]=e
(異なる数の要素があるかもしれない)へList<String>
私はちょうどすることにより文字列を分割でき&
、オフカットlist[]=
が、私は(リストにそれをデシリアライズすることができ、ライブラリのいくつかの種類)これを行うには、いくつかのよりエレガントな方法があるかどうだろう
cassiomolin:
私はちょうどで文字列を分割でき
&
、オフカットlist[]=
[...]
あなたは確かにそれを行うことができます。ただに覚えているURLデコード splittigクエリ文字列の後にパラメータを;)
[...]しかし、私は(それまでをデシリアライズすることができ、ライブラリのいくつかの種類これを行うには、いくつかのよりエレガントな方法があるかどうだろう
List
)
あなたはライブラリを探している場合は、Apacheのを使用することができますURLEncodedUtils
:
String queryString = "list[]=a&list[]=b&list[]=c&list[]=d&list[]=e";
List<NameValuePair> valuePairs = URLEncodedUtils.parse(queryString, StandardCharsets.UTF_8);
Map<String, List<String>> queryParams = valuePairs.stream()
.collect(groupingBy(NameValuePair::getName, mapping(NameValuePair::getValue, toList())));
List<String> strings = queryParams.get("list[]");