由于fastjson只支持JDK1.5版本,因些对于JDK1.4的项目,可以采用json-lib来解析JSON数据。如下是http请求的另外一种写法,仅供参考。
package com; import java.util.HashMap; import java.util.Map; import net.sf.json.JSONObject; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager; import org.apache.commons.httpclient.methods.PostMethod; import org.apache.commons.httpclient.methods.StringRequestEntity; import org.apache.commons.httpclient.params.HttpConnectionManagerParams; public class BJTTest { public static void main(String[] args) { Map paramMap = new HashMap(); paramMap.put("queryName", "张三"); paramMap.put("age", "30"); JSONObject jsonObj = new JSONObject(paramMap); String jsonStr = jsonObj.toString(); System.out.println("jsonStr:" + jsonStr); try { PostMethod postMethod = new PostMethod("http://serviceAddress/system//address/queryInfo"); StringRequestEntity se = new StringRequestEntity(jsonStr, "application/json", "utf-8"); postMethod.setRequestEntity(se); HttpClient httpClient = getHttpClient(); httpClient.executeMethod(postMethod); String body = new String(postMethod.getResponseBody(), "UTF-8"); JSONObject jsonObject = new JSONObject(body); System.out.println("result:" + jsonObject.toString()); } catch (Exception e) { System.out.println("调用异常:" + e.getMessage()); } } private static HttpClient getHttpClient() { HttpConnectionManagerParams http_pams = new HttpConnectionManagerParams(); http_pams.setConnectionTimeout(10000); http_pams.setSoTimeout(10000); http_pams.setDefaultMaxConnectionsPerHost(10); http_pams.setMaxTotalConnections(10); MultiThreadedHttpConnectionManager http_manger = new MultiThreadedHttpConnectionManager(); http_manger.setParams(http_pams); HttpClient httpClient = new HttpClient(http_manger); return httpClient; } }
附:依赖JAR包