1

在我的应用程序中,我试图发送带有 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;
    }
}

谢谢..

4

2 回答 2

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();
}
于 2013-02-19T09:32:18.690 回答
0

你是什​​么意思“我只能发送 JSONObject 而不是参数。” ,您可以将所有参数放在 JsonObject 本身中,我没有得到您真正的问题

于 2013-02-19T09:29:32.570 回答