首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在android的Parameter中使用REST将Json字符串发送到java webservice?

如何在android的Parameter中使用REST将Json字符串发送到java webservice?
EN

Stack Overflow用户
提问于 2014-04-08 19:59:56
回答 1查看 8.9K关注 0票数 1

朋友们,我向java web服务方法发送了带有三个参数的JSON字符串。但是在java端,方法不能在控制台中打印。请告诉我我必须从下面的代码中修改什么?

String json = "";
        HttpParams httpParams = new BasicHttpParams();
        HttpConnectionParams.setConnectionTimeout(httpParams, 10000);
        HttpConnectionParams.setSoTimeout(httpParams, 10000);
        HttpClient httpclient = new DefaultHttpClient();

        // Prepare a request object
        HttpPost httpPost = new HttpPost(url);
        HttpGet httpGet = new HttpGet(url);

        JSONObject jsonObject = new JSONObject();
        try {
            jsonObject.put("name", "ghanshyam");
            jsonObject.put("country", "India");
            jsonObject.put("twitter", "ghahhd");

            json = jsonObject.toString();

            StringEntity se = new StringEntity(json);

            se.setContentEncoding("UTF-8");
            se.setContentType("application/json");

            // 6. set httpPost Entity
            System.out.println(json);

            httpPost.setEntity(se);
            httpGet.se
            // 7. Set some headers to inform server about the type of the content
            //httpPost.addHeader( "SOAPAction", "application/json" );
            httpPost.setHeader("Accept", "application/json");
            httpPost.setHeader("Content-type", "application/json");

            //String s = doGet(url).toString();

            Toast.makeText(getApplicationContext(), "Data Sent", Toast.LENGTH_SHORT).show();
EN

回答 1

Stack Overflow用户

发布于 2014-04-08 20:09:46

使用以下代码将json发布到Java web-service:并获取字符串形式的resopnse。

    JSONObject json = new JSONObject();
    json.put("name", "ghanshyam");
    json.put("country", "India");
    json.put("twitter", "ghahhd");

    HttpPost post = new HttpPost(url);
    post.setHeader("Content-type", "application/json");
    post.setEntity(new StringEntity(json.toString(), "UTF-8"));
    DefaultHttpClient client = new DefaultHttpClient();
    HttpResponse httpresponse = client.execute(post);
    HttpEntity entity = httpresponse.getEntity();
    InputStream stream = entity.getContent();
    String result = convertStreamToString(stream);

您的convertStremToString()方法如下所示:

    public static String convertStreamToString(InputStream is)
    {
        BufferedReader reader = new BufferedReader(new InputStreamReader(is));
        StringBuilder sb = new StringBuilder();
        String line = null;
        try
        {
            while ((line = reader.readLine()) != null)
            {
                    sb.append(line + "\n");
            } 
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        finally
        {
            try
            {
                is.close();
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
        }
        return sb.toString();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22936367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档