В моем приложении для Android мне нужно отправить массив в виде тела (информация о полезной нагрузке) на URL-адрес POST.
В теле есть два параметра:
1. "env" : "dev"
2. "dNumber" : tn("+1232323"); // here I need to send an array.
Отредактированный вопрос: Мне нужно отправить телефон в виде массива, как ["123131", "4545545"]
Я передаю массив как созданный массив JSON и преобразовать в строку и передать.
private String tn(String tn) {
String json = "";
try {
JSONArray jsonArray = new JSONArray();
jsonArray.put(0, tn);
json = jsonArray.toString();
} catch (JSONException e) {
e.printStackTrace();
}
return json;
}
и полный код:
try {
URL url;
HttpURLConnection urlConnection;
url = new URL(makeCallUrl);
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("POST");
urlConnection.setRequestProperty("Content-Type", "application/json");
urlConnection.setRequestProperty("Authorization", String.format("%s %s", "Basic", secretKey));
urlConnection.setUseCaches(false);
urlConnection.setDoOutput(true);
urlConnection.connect();
// Setup the body of the url
JSONObject json = new JSONObject();
json.put("env", "dev");
json.put("destNumbers", tn("+123123"));
// Write the body on the wire
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(urlConnection.getOutputStream()));
writer.write(json.toString());
writer.flush();
writer.close();
} catch (IOException e) {
Log.d(TAG, "IOException:" + e.getMessage());
e.printStackTrace();
}
Если я попробую это, я получу 400, исключение Плохой запрос.Пожалуйста, помогите мне передать массив в POST API