Java 的Webservice 如何获取post 提交的json数据 5

我要在后台取到json文件.如这样的:{\"TContent\":{\"Title\":\"标题\",\"Content\":\"内容\",\"TimeScrat\":\... 我要在后台取到json文件.如这样的:{\"TContent\":{\"Title\":\"标题\",\"Content\":\"内容\",\"TimeScrat\":\"2011-11-23 16:04:10\",\"SiteOver\":\"二〇一一年十一月二十三日 15:50:41\",\"Version\":\"v1\"}} 展开
 我来答
小傻

2015-10-29 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31135
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部

java的webservice获取post提交的json数据的示例如下:

import org.apache.http.Header;
 
import org.apache.http.HttpEntity;
 
import org.apache.http.HttpResponse;
 
import org.apache.http.NameValuePair;
 
import org.apache.http.client.ClientProtocolException;
 
import org.apache.http.client.entity.UrlEncodedFormEntity;
 
import org.apache.http.client.methods.HttpPost;
 
import org.apache.http.entity.StringEntity;
 
import org.apache.http.impl.client.DefaultHttpClient;
 
import org.apache.http.message.BasicHeader;
 
import org.apache.http.message.BasicNameValuePair;
 
import org.apache.http.params.BasicHttpParams;
 
import org.apache.http.params.HttpConnectionParams;
 
import org.apache.http.params.HttpParams;
 
import org.apache.http.protocol.HTTP;
 
import org.json.JSONException;
 
import org.json.JSONObject;
 
  
 
import android.app.Activity;
 
import android.content.Context;
 
import android.os.Bundle;
 
import android.util.Log;
 
import android.widget.TextView;
 
  
 
import java.io.BufferedReader;
 
import java.io.IOException;
 
import java.io.InputStream;
 
import java.io.InputStreamReader;
 
import java.io.UnsupportedEncodingException;
 
import java.net.HttpURLConnection;
 
import java.util.ArrayList;
 
import java.util.List;
 
  
 
public class json extends Activity {
 
    public Context context;
 
    private TextView textView1;
 
    public static String URL = "http://webservice.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl";
 
    private DefaultHttpClient httpClient;
 
    StringBuilder result = new StringBuilder();
 
    private static final int TIMEOUT = 60;
 
    public void onCreate(Bundle savedInstanceState) {
 
        super.onCreate(savedInstanceState);
 
        setContentView(R.layout.main);
 
        HttpParams paramsw = createHttpParams();
 
        httpClient = new DefaultHttpClient(paramsw);
 
        HttpPost post = new HttpPost(
 
                "http://webservice.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl");
 
        List<NameValuePair> params = new ArrayList<NameValuePair>();
 
        params.add(new BasicNameValuePair("name", "this is post"));
 
        try {
 
            //向服务器写json
 
            JSONObject json = new JSONObject();
 
            Object email = null;
 
            json.put("email", email);
 
            Object pwd = null;
 
            json.put("password", pwd);
 
            StringEntity se = new StringEntity( "JSON: " + json.toString());
 
            se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
 
            post.setEntity(se);
 
  
 
            post.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
 
            HttpResponse httpResponse = httpClient.execute(post);
 
            int httpCode = httpResponse.getStatusLine().getStatusCode();
 
            if (httpCode == HttpURLConnection.HTTP_OK&&httpResponse!=null) {
 
                Header[] headers = httpResponse.getAllHeaders();
 
                HttpEntity entity = httpResponse.getEntity();
 
                Header header = httpResponse.getFirstHeader("content-type");
 
                //读取服务器返回的json数据(接受json服务器数据)
 
                InputStream inputStream = entity.getContent();
 
                InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
 
                BufferedReader reader = new BufferedReader(inputStreamReader);// 读字符串用的。
 
                String s;
 
                while (((s = reader.readLine()) != null)) {
 
                    result.append(s);
 
                }
 
                reader.close();// 关闭输入流
 
                //在这里把result这个字符串个给JSONObject。解读里面的内容。
 
                JSONObject jsonObject = new JSONObject(result.toString());
 
                String re_username = jsonObject.getString("username");
 
                String re_password = jsonObject.getString("password");
 
                int re_user_id = jsonObject.getInt("user_id");
 
                setTitle("用户id_"+re_user_id);
 
                Log.v("url response", "true="+re_username);
 
                Log.v("url response", "true="+re_password);
 
            } else {
 
                textView1.setText("Error Response" + httpResponse.getStatusLine().toString());
 
            }
 
        } catch (UnsupportedEncodingException e) {
 
        } catch (ClientProtocolException e) {
 
        } catch (IOException e) {
 
        } catch (JSONException e) {
 
            e.printStackTrace();
 
        } finally {
 
            if (httpClient != null) {
 
                httpClient.getConnectionManager().shutdown();// 最后关掉链接。
 
                httpClient = null;
 
            }
 
        }
 
    }
 
  
 
    public static final HttpParams createHttpParams() {
 
        final HttpParams params = new BasicHttpParams();
 
        HttpConnectionParams.setStaleCheckingEnabled(params, false);
 
        HttpConnectionParams.setConnectionTimeout(params, TIMEOUT * 1000);
 
        HttpConnectionParams.setSoTimeout(params, TIMEOUT * 1000);
 
        HttpConnectionParams.setSocketBufferSize(params, 8192 * 5);
 
        return params;
 
    }
 
}
aaaltppp
2011-11-30
知道答主
回答量:44
采纳率:0%
帮助的人:17.1万
展开全部
用ajax
type:post
若成功function(data,textStatus)
data是返回数据
sturts2框架中配置文件result中type=json
更多追问追答
追问
如果不用Ajax..直接用Java后台.该怎么取啊!
追答
你试试转发
类型是json
我之前好像看见过
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
猫狗大战哦也
2018-04-13
知道答主
回答量:32
采纳率:0%
帮助的人:4.1万
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式