gpt4 book ai didi

javascript - JS,如何在FormData中追加数组?

转载 作者:行者123 更新时间:2023-12-01 01:26:20 28 4
gpt4 key购买 nike

我希望在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","b","c"]));

然后当您想要检索数据时,将其解析回数组中。这可以使用 JSON.parse() 手动完成,或者,如果您使用的是 Express,则可以使用 JSON/urlencoded body-parser 中间件来完成。

<小时/>

说明:

当您使用.append()时,作为第二个参数传递的数据将被转换为字符串。对于数组,将调用 .toString() 方法,该方法通过逗号连接数组内的元素

a,b,c

这不好,因为它不能轻松地解析回数组,特别是当您有复杂的数组(例如对象数组或多维数组)时。

但是,如 @Phil指出,您可以通过在输入数组上使用 JSON.stringify 来管理它。这样,您就可以提供一个 JSON 字符串,可以使用 JSON.parse()

轻松将其解析回数据
"[\"a\",\"b\",\"c\"]" // <-- can be parsed into an array using JSON.parse()

请参阅下面的工作示例:

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

var str_arr = fd.get("key");
console.log(str_arr); // string format
console.log(JSON.parse(str_arr)); // array format

关于javascript - JS,如何在FormData中追加数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53735223/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com