im пытается отправить объект json, который похож на мой сервер {'name': joe}, , и в настоящее время мой код выглядит так. Однако json, который я получаю на моем сервере, выглядит следующим образом {'{"name": joe}': ''}. поэтому мой вопрос в том, как отправить json, так что это будет выглядеть как {'name': joe}, когда я получу его на своем сервере? мой сервер использует nodejs. Я хочу получить это имя request.body.name. любая помощь будет оцененаотправка объекта JSON с Android на HttpURLConnection POST-запрос
protected Boolean doInBackground(Void... params) {
try {
URL url = new URL("http://10.0.2.2:3000/users/user");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
String jsonString = "{\"name\":" + this.mName + "}";
OutputStream os = conn.getOutputStream();
os.write(jsonString.getBytes());
os.flush();
BufferedReader br = new BufferedReader(new InputStreamReader(
(conn.getInputStream())));
String output;
StringBuilder response = new StringBuilder();
while ((output = br.readLine()) != null) {
response.append(output);
response.append('\r');
}
mes = response.toString();
conn.disconnect();
if (mes!=null && !mes.isEmpty()){
return true;
}else {
return false;
}
}catch (Exception e) {
e.printStackTrace();
}
return false;
}
EDIT: после изменения приложения/х-WWW-форм-urlencoded к применению/JSON. я постоянно получаю FileNorFoundException, и сервер возвращает код ответа 400
Строка jsonString = "{\" Имя \ ":" + this.mName + "}"; попробуйте изменить это с помощью чего-то String jsonString = "'name \':" + this.mName "; –