Java: списки кодирования url и карты?

Я пытаюсь закодировать карту значений для запроса POST с типом содержимого application/x-www-form-urlencoded. Повсюду есть множество примеров того, как кодировать, когда значение является строкой:

URLEncoder.encode(key, "UTF-8") + "=" + URLEncoder.encode(value, "UTF-8")

Но если у меня есть список значений (или карта) для кодирования, как мне это сделать? Например:

List<String> names = Arrays.asList("john", "peter", "mary");
URLEncoder.encode("name", "UTF-8") + "=" + URLEncoder.encode(names.toString(), "UTF-8")

Я вызываю toString() выше, но не думаю, что сгенерированная кодировка верна. Для справки я смотрю на JS-библиотеку кодировка формы (https://www.npmjs.com/package/form-urlencoded), которая сначала преобразует список как:

name[0]=john&name[1]=peter&name[2]=mary

а затем сгенерируйте следующий результат:

name%5B0%5D=john&name%5B1%5D=peter&name%5B2%5D=mary

Есть ли способ добиться того же на Java?

пожалуйста, взгляните на здесь

jacky-neo 30.03.2021 04:11
0
1
16
0

Другие вопросы по теме