IM試圖發送一個JSON對象,看起來像這樣我的服務器{「名」:喬}, ,目前我的代碼看起來是這樣的。然而,我在我的服務器上得到的json看起來像這樣{'{「name」:joe}':''}。所以我的問題是我如何發送json,所以當我在我的服務器上收到它時,它看起來像{'name':joe}?我的服務器正在使用nodejs。我想通過request.body.name來獲取該名稱。任何幫助,將理解從Android的發送JSON對象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;
}
編輯:改變應用/後的X WWW窗體-urlencoded爲application/JSON。我不斷收到FileNorFoundException,和服務器返回響應代碼400
字符串jsonString = 「{\」 名稱\ 「:」 + this.mName +「}」;嘗試用一些字符串jsonString =改變這種「‘名\’」 + this.mName「 –