Javascript JS,如何在FormData中追加数组?
我希望在js FormData中附加数组 像这样,Javascript JS,如何在FormData中追加数组?,javascript,arrays,append,form-data,Javascript,Arrays,Append,Form Data,我希望在js FormData中附加数组 像这样, var fd = new FormData(); fd.append("key", new Array(["a","b","c"])); console.log(fd.get("key")); 结果是, a,b,c 结果类型为“字符串” 我想用java(JSONArray)解析“aa”数组 请帮助我。您需要首先对数据进行字符串化: fd.append("key", JSON.stringify(["a"
var fd = new FormData();
fd.append("key", new Array(["a","b","c"]));
console.log(fd.get("key"));
结果是,
a,b,c
结果类型为“字符串”
我想用java(JSONArray)解析“aa”数组
请帮助我。您需要首先对数据进行字符串化:
fd.append("key", JSON.stringify(["a","b","c"]));
然后,当您想要检索数据时,将其解析回数组。这可以使用JSON.parse()
手动完成,或者,如果您使用的是express,则可以使用JSON/urlencoded body解析器中间件为您完成
说明: 使用
.append()
时,作为第二个参数传递的数据将转换为字符串。对于数组,将调用.toString()
方法,该方法通过逗号连接数组中的元素
a,b,c
这并不好,因为它无法轻松解析回数组,尤其是当您有复杂的数组(如对象数组或多维数组)时
然而,正如所指出的,您可以通过在输入数组上使用JSON.stringify
来管理这一点。这样,您就提供了一个JSON字符串,可以使用JSON.parse()
您需要首先对数据进行字符串化:
fd.append("key", JSON.stringify(["a","b","c"]));
然后,当您想要检索数据时,将其解析回数组。这可以使用JSON.parse()
手动完成,或者,如果您使用的是express,则可以使用JSON/urlencoded body解析器中间件为您完成
说明: 使用
.append()
时,作为第二个参数传递的数据将转换为字符串。对于数组,将调用.toString()
方法,该方法通过逗号连接数组中的元素
a,b,c
这并不好,因为它无法轻松解析回数组,尤其是当您有复杂的数组(如对象数组或多维数组)时
然而,正如所指出的,您可以通过在输入数组上使用JSON.stringify
来管理这一点。这样,您就提供了一个JSON字符串,可以使用JSON.parse()
“结果是
a,b,c
”“结果是a,b,c
”为什么不在附加值时对其使用JSON.stringify()
,而不是尝试构建自己的JSONformatter@Phil说得对!我已经更新了我的答案,改用这个。感谢来到这里的一个新的参考,fd.append(“key”,JSON.stringify(新数组([“a”,“b”,“c”)))代码>可以简单地简化为fd.append(“key”,JSON.stringify([“a”,“b”,“c”))代码>。无需将新数组添加到现有的项目数组中。@bubble-cord好的一点,我必须避免OP的问题。我已经对其进行了更新,以删除数组构造函数。为什么不在附加值时对其使用JSON.stringify()
,而不是尝试构建自己的JSON呢formatter@Phil说得对!我已经更新了我的答案,改用这个。感谢来到这里的一个新的参考,fd.append(“key”,JSON.stringify(新数组([“a”,“b”,“c”)))代码>可以简单地简化为fd.append(“key”,JSON.stringify([“a”,“b”,“c”))代码>。无需将新数组添加到现有的项目数组中。@bubble-cord好的一点,我必须避免OP的问题。我已将其更新为删除数组构造函数