Java 数组传值:使用 application/x-www-form-urlencoded 格式
可以使用以下方法将 Java 数组传递为 application/x-www-form-urlencoded 格式:
- 将 Java 数组转换为字符串
String[] array = {'value1', 'value2', 'value3'};
String arrayString = String.join('&', array);
- 将字符串编码为 application/x-www-form-urlencoded 格式
String encodedArrayString = URLEncoder.encode(arrayString, "UTF-8");
- 将编码后的字符串作为参数传递到请求中
String urlParameters = "array=" + encodedArrayString;
byte[] postData = urlParameters.getBytes(StandardCharsets.UTF_8);
URL url = new URL("http://example.com/api");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.setRequestProperty("Content-Length", String.valueOf(postData.length));
conn.getOutputStream().write(postData);
在接收端,可以使用以下方法将 application/x-www-form-urlencoded 格式的数据解码为 Java 数组:
- 从请求中获取参数
String encodedArrayString = request.getParameter("array");
- 将参数解码为字符串
String arrayString = URLDecoder.decode(encodedArrayString, "UTF-8");
- 将字符串转换为 Java 数组
String[] array = arrayString.split('&');
原文地址: https://www.cveoy.top/t/topic/nH2J 著作权归作者所有。请勿转载和采集!