Ich versuche, ein JSON-Objekt, das so aussieht, an meinen Server {'name': joe}, und derzeit sieht mein Code so aus. Wie auch immer der json auf meinem Server aussieht, sehe so aus {'{"name": joe}': ''}. also meine Frage ist, wie schicke ich die JSON, so würde es aussehen wie {'Name': Joe}, wenn ich es auf meinem Server erhalte? Mein Server benutzt nodejs. Ich möchte diesen Namen von request.body.name bekommen. jede mögliche Hilfe würdeSenden von JSON-Objekt von Android nach HttpURLConnection POST-Anfrage
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 geschätzt werden: nach application/x-www-form-urlencoded auf application/json ändern. i halten FileNorFoundException bekommen, und Server liefert Antwortcode 400
String jsonString = "{\" name \ sein kann ":" + this.mName + "}"; versuche das mit etwas zu ändern String jsonString = "'name \':" + this.mName "; –