我的JSONObject发送空值到服务器
我想发送文本值到服务器,这是名称,电话,位置,备注,但每次每个值都丢失 第一次名称不会,下次拨打电话和下一个位置。 ..我的JSONObject发送空值到服务器
更新:
Jsoncode:
public static String POST(String url, Persoenter code heren person){ InputStream inputStream = null;
String result = "";
try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
String json = "";
JSONObject jsonObject = new JSONObject();
jsonObject.accumulate("name",person.getName());
jsonObject.accumulate("phone", person.getPhone());
jsonObject.accumulate("remarrks",person.getRemarks());
jsonObject.accumulate("credated_dt", person.getCreatedat());
jsonObject.accumulate("emp_code", person.getCreatedby());
jsonObject.accumulate("location", person.getLocation());
jsonObject.accumulate("add_fld1", "Test");
jsonObject.accumulate("add_fld2", "Test");
jsonObject.accumulate("add_fld3", "Test");
json = jsonObject.toString();
StringEntity se = new StringEntity(json);
Log.e("sent",""+json);
httpPost.setEntity(se);
httpPost.setHeader("Accept", "application/json");
httpPost.setHeader("Content-type", "application/json");
HttpResponse httpResponse = httpclient.execute(httpPost);
inputStream = httpResponse.getEntity().getContent();
if(inputStream != null)
result = convertInputStreamToString(inputStream);
else
result = "Did not work!";
} catch (Exception e) {
Log.d("InputStream", e.getLocalizedMessage());
}
return result;
}
Httppost
private class sync extends AsyncTask<String, String, String> { InputStream inputStream = null;
OutputStream outputStream = null;
protected String doInBackground(String... urls) {
person = new Person();
person.setName(eName.getText().toString());
person.setPhone(ePhonenumber.getText().toString());
person.setLocation(eLocation.getText().toString());
person.setRemarks(eRemarks.getText().toString());
person.setCreatedby(eCreatedby.getText().toString());
person.setCreatedat(eCreatedat.getText().toString());
return POST(urls[0],person);
}
@Override
protected void onPreExecute() {
progress.setTitle("Connecting to server");
progress.setMessage("Sending Data.... Please wait!");
progress.setCanceledOnTouchOutside(false);
progress.show();
}
@Override
protected void onPostExecute(String s) {
progress.dismiss();
Intent Homeintent = getIntent();
Homeintent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
finish();
startActivity(Homeintent);
}
输出 1:{ “名称”: “beta33”, “电话”: “33”, “remarrks”: “33”, “credated_dt”:“2017年12月20日11 :56:32“,”emp_code“:”[email protected]“,”location“:”33“} 2:{”name“:”beta33“,”phone“:”33“,”remarrks“: “33”,“credated_dt”:“2017-12-20 11:56:43”,“emp_code”:“[email protected]”,“location”:“33”} 3:{“name”:“ “,”电话“:”34“,”remarrks“:”34“,”credated_dt“:”2017-12-20 11:56:52“,”emp_code“:”[email protected]“,”位置“ :“34”}
在尝试了一两次尝试之后,名字不会出现,我不知道为什么......请别人帮我解决这个问题
回答:
我发布了一个工作代码示例,将其替换为此代码,然后查找这里出现了什么错误。
try { URL url = new URL("http://-------");
HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();
httpURLConnection.setDoOutput(true);
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setRequestProperty("Content-Type", "application/json");
httpURLConnection.connect();
DataOutputStream wr = new DataOutputStream(httpURLConnection.getOutputStream());
wr.write(inputJson.getBytes()); //your input json in string format
wr.flush();
BufferedReader br = new BufferedReader(new InputStreamReader(
(httpURLConnection.getInputStream())));
StringBuffer bfr = new StringBuffer();
String output = "";
while ((output = br.readLine()) != null) {
bfr.append(output);
}
String serverPostRes = bfr.toString();
wr.close();
httpURLConnection.disconnect();
bfr.delete(0,bfr.length());
} catch (Exception e) {
e.printStackTrace();
}
return serverPostRes;
}
在你的问题中inputJson
你可以通过
String inputJson = "{ " + " \"add_fld1\": \"" + ("Test"+ i) + "\","
+ " \"add_fld2\": \"" + ("Test"+ i+1) + "\","
+ " \"add_fld3\": \"" + ("Test"+ i+2) + "\","
+ " \"credated_dt\": \"" + formattedDate + "\","
+ " \"emp_code\": \"" + eCreatedby.getText().toString() + "\","
+ " \"location\": \"" + eLocation.getText().toString() + "\","
+ " \"name\": \"" + eName.getText().toString() + "\","
+ " \"phone\": \"" + ePhonenumber.getText().toString() + "\","
+ " \"remarrks\": \"" + eRemarks.getText().toString() + "\","
+ "}";
以上是 我的JSONObject发送空值到服务器 的全部内容, 来源链接: utcz.com/qa/262823.html