我的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

回到顶部