Я новичок в Android. В этом методе я готов отправить объект BEAccident вместе с некоторыми строками, но сервер выдает ошибку.Как отправить несколько объектов JSON через URLConnection?
общественности Строка SendAccident (BEAccident авария, String имя пользователя, Строка пароля) {
JSONObject jsonAccident = new JSONObject();
try {
jsonAccident.put("HasDocuments", accident.getHasDocuments());
jsonAccident.put("ChassisNumber", accident.getChassisNumber());
jsonAccident.put("ContainerNumber", accident.getContainerNumber());
jsonAccident.put("Description", accident.getDescription());
jsonAccident.put("IdTMUser", accident.getIdTMUser());
jsonAccident.put("LicensePlate", accident.getLicensePlate());
jsonAccident.put("LocalDateTime", accident.getLocalDateTime());
} catch (JSONException e1) {
return e1.getMessage();
}
try{
// Set Request parameter
data +="&" + URLEncoder.encode("Username", "UTF-8") + "="+username;
data +="&" + URLEncoder.encode("Password", "UTF-8") + "="+password;
data +="&" + URLEncoder.encode("LoadNumber", "UTF-8") + "="+"LN0003";
data +="&" + URLEncoder.encode("Accident", "UTF-8") + "="+URLEncoder.encode(jsonAccident.toString(), "UTF-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
BufferedReader reader = null;
// Send data
try {
URL url = new URL(URL_SEND_ACCIDENT);
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(
conn.getOutputStream());
wr.write(data);
wr.flush();
// Get the server response
reader = new BufferedReader(new InputStreamReader(
conn.getInputStream()));
StringBuilder sb = new StringBuilder();
String line = null;
// Read Server Response
while ((line = reader.readLine()) != null) {
// Append server response in string
sb.append(line + "");
}
// Append Server Response To Content String
Content = sb.toString();
return Content;
} catch (Exception ex) {
Error = ex.getMessage();
return Error;
} finally {
try {
reader.close();
}
catch (Exception ex) {
}
}
}
Пожалуйста, сообщите, если это правильный способ отправки неродной объекта с использованием URLConnection. Я ценю любой ответ.
вы можете показать код на стороне сервера? –
@NagyVilmos Я боюсь, что он недоступен. Все, что я знаю, это то, что он отлично работает в iOS. Благодарю. – Jorge
попробуйте заменить ваши данные «+ +» и «+ URLEncoder.encode» («Несчастный случай», «UTF-8») + «=» + URLEncoder.encode (jsonAccident.toString(), «UTF-8»); эта строка с 'data + =" & "+ URLEncoder.encode (" Несчастный случай "," UTF-8 ") +" = "+ jsonAccident.toString();' –