JS, как добавить массив в FormData? - PullRequest
0 голосов
/ 12 декабря 2018

Я надеюсь добавить массив в js FormData.

примерно так,

var fd = new FormData();
fd.append("key", new Array(["a","b","c"]));
console.log(fd.get("key"));

результат будет,

a,b,c

тип результата 'String' ...

Я хочу проанализировать массив "aa" в java (JSONArray).

, пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 12 декабря 2018

Чтобы разобрать вашу строку обратно в массив, вам нужно придать ей вид массива, который можно проанализировать как JSON.

В данный момент fd.get("key") вернет:

a,b,c

Это нехорошо, так как это не может быть легко передано обратно в 2d массив.

Однако, как указал @ Phil , вы можетеизмените это, используя JSON.stringify в вашем входном массиве, чтобы изменить способ хранения массива в виде строки, чтобы позже вы могли использовать JSON.parse(), чтобы преобразовать его обратно в массив:

[["a","b","c"]] // <-- can be parsed into a 2d array using JSON.parse()

См. Рабочий пример ниже:

var fd = new FormData();
fd.append("key", JSON.stringify(new Array(["a","b","c"])));

var str_arr = fd.get("key");
console.log(str_arr); // string format
console.log(JSON.parse(str_arr)); // array format
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...