gdk*_*gdk 1 javascript arrays append form-data
我希望在 js FormData 中追加数组。
像这样,
var fd = new FormData();
fd.append("key", new Array(["a","b","c"]));
console.log(fd.get("key"));
Run Code Online (Sandbox Code Playgroud)
结果是,
a,b,c
Run Code Online (Sandbox Code Playgroud)
结果类型是“字符串”...
我想在 java(JSONArray) 中解析“aa”数组。
请帮我。
您需要先对数据进行字符串化:
fd.append("key", JSON.stringify(["a","b","c"]));
Run Code Online (Sandbox Code Playgroud)
然后当你想要检索数据时,将它解析回一个数组。这可以使用 手动完成JSON.parse(),或者,如果您使用 express,可以使用 JSON/urlencoded body-parser 中间件为您完成。
说明:
使用时.append(),作为第二个参数传递的数据将转换为字符串。在数组的情况下,该.toString()方法被调用,该方法通过逗号连接数组内的元素
a,b,c
Run Code Online (Sandbox Code Playgroud)
这并不好,因为它无法轻松解析回数组,尤其是当您拥有复杂数组(例如对象数组或多维数组)时。
但是,正如@Phil 所指出的,您可以通过JSON.stringify在输入数组上使用来管理它。这样,您就提供了一个 JSON 字符串,可以使用JSON.parse()
"[\"a\",\"b\",\"c\"]" // <-- can be parsed into an array using JSON.parse()
Run Code Online (Sandbox Code Playgroud)
请参阅下面的工作示例:
fd.append("key", JSON.stringify(["a","b","c"]));
Run Code Online (Sandbox Code Playgroud)