在我的应用程序中,我尝试使用像UserId这样的参数发送JSONObject,任何人都可以向我推荐一些教程,我可以从中获取一些帮助......
我得到了这段代码但是在这段代码中我只能发送JSONObject而不是参数..
我的网址是这样的:http://www.example.com/JSONObject/userId
如何将带有userId的JSONObject传递给服务器..
public class HTTPPoster {
public HttpResponse doPost(String url, JSONObject jsonProfilo) throws ClientProtocolException, IOException {
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpPost request = new HttpPost(url);
HttpEntity entity;
StringEntity s = new StringEntity(jsonProfilo.toString());
s.setContentEncoding((Header) new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
entity = s;
request.setEntity(entity);
HttpResponse response;
response = httpclient.execute(request);
return response;
}
}
谢谢..
答案 0 :(得分:0)
你是什么意思“我只能发送JSONObject而不是参数。” ,你可以将所有参数放在JsonObject本身,我没有得到你真正的问题
答案 1 :(得分:0)
在JSONObject中,您可以保留以下参数:
JSONObject jsonvalue =new JSONObject();
jsonvalue.put("userId", "urUserId");
示例代码,这里我发送服务器imeiNumber,userName和paasword:
JSONObject jsonvalue =new JSONObject();
jsonvalue = new JSONObject();
jsonvalue.put("imeiNumber", "00000000000");
jsonvalue.put("userName", mUserName);
jsonvalue.put("plainPassword", mPassword);
我的观点同样可以将userId和globalId发送到服务器。
现在在你的HttpConnection:
HttpURLConnection conn = null;
conn = (HttpURLConnection) url.openConnection();
conn.setRequestProperty("Content-Type", "application/json");
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setChunkedStreamingMode(0);
conn.setUseCaches(false);
String urlParameters = "body"
+ URLEncoder.encode(jsonvalue.toString(), "UTF-8");
conn.setRequestProperty("Content-Length",
"" + Integer.toString(urlParameters.getBytes().length));
try {
OutputStream os = conn.getOutputStream();
os.write(jsonvalue.toString().getBytes());
os.close();
} catch (IOException e) {
e.printStackTrace();
}