1、發送http請求:
HttpPost httpPost =newHttpPost(發送的URL);
UrlEncodedFormEntity entity =newUrlEncodedFormEntity(formparams,"UTF-8");
httpPost.setEntity(entity);
其中,formparams為發送的list對象。
2、回收response請求,得到結果:
HttpClienthttpClient =newDefaultHttpClient();
HttpResponse httpResponse = httpClient.execute(httpPost);
獲取reponse的返回碼:httpResponse.getStatusLine().getStatusCode() = 200
3、獲取請求(HttpServletRequestrequest)里格式為Map的key的值
Map params =newHashMap();
String batchNo = request.getParameter("batchNo");
java轉對象:
UcfPayOfReturnParameterSynVo ? resData = gson.fromJson(resultXml,UcfPayOfReturnParameterSynVo.class);//得到對象
其中:resultXml為string類型的json串。
4、類型為string的json,轉為JSONArray
JSONArray ?jsonArray = com.alibaba.fastjson.JSONObject.parseArray(orders);
jsonarray本身就是一個List,所以轉換成list對象如下:
List orderList =new ArrayList<>();
UcfNoticeOrdersDto ? data =newUcfNoticeOrdersDto();
for(inti =0;i < jsonArray.size();i++) {
data = com.alibaba.fastjson.JSONObject.parseObject(jsonArray.get(i).toString(),UcfNoticeOrdersDto.class);
orderList.add(data);
}
5、使用Gjson,json與對象相互轉化
使用Gson輕松將Java對象轉化為json格式
String json = gson.toJson(Object);//得到json形式的字符串
User user = gson.fromJson(json,User.class);//得到對象
轉化成list
[csharp]view plaincopyprint?
import?java.util.List;
import?com.google.gson.Gson;
import?com.google.gson.reflect.TypeToken;
import?com.lc.function.Action;
import?com.lc.models.Groups;
public?class?MapSearch?{
private?void?ParseData(String?_data)
{
Gson?gson?=?new?Gson();
List?ps?=?gson.fromJson(_data,?new?TypeToken>(){}.getType());
System.out.println(ps.get(0).getGroup_name());
}
}
6、list對象轉換成json,并替換json中的“
Gson gson =newGson();
String?ordersStr?=?gson.toJson(ordersList);
String?ordersReplace?=?ordersStr.replaceAll("\"","'");
7、遍歷一個list,將list的值放在一個map里:
formparams.add(newBasicNameValuePair("orders",ordersReplace));
Map?map?=newHashMap<>();
for(NameValuePair?formParam?:?formparams)?{
String?keyOfFormParam?=?formParam.getName();
String?value?=?formParam.getValue();
map.put(keyOfFormParam,value);
}
8、轉換成json格式
/**
*轉換成json格式
*?@paramrequest
*?@return
*/
privateStringgetRequestBodyOfJson(HttpServletRequest?request)?{
String?json?=null;
InputStream?is?=null;
BufferedReader?br?=null;
try{
is?=?request.getInputStream();
StringBuilder?messageBuffer?=newStringBuilder();
br?=newBufferedReader(newInputStreamReader(is,"utf-8"));
String?line?=null;
while((line?=?br.readLine())?!=null)?{
messageBuffer.append(line);
}
json?=?messageBuffer.toString();
LOGGER.info("----------接收JSON="+?json);
}catch(Exception?e)?{
LOGGER.error("從request獲取請求參數異常",e);
}finally{
try{
if(br?!=null)?{
br.close();
}
}catch(Exception?e)?{
LOGGER.error("關閉BufferedReader出現異常",e);
}
try{
if(is?!=null)?{
is.close();
}
}catch(Exception?e)?{
LOGGER.error("關閉InputStream出現異常",e);
}
}
return json;
}
9、String 類型的json轉map
String json = "";
Map productMap = JsonUtils.jsonToBean(json,Map.class);