平常可能做得比较多是的解析json传参,如下
public static JSONObject parseRequestToJson(HttpServletRequest request, String charset) throws Exception {
return new JSONObject(getPostString(request, charset));
}
public static String getPostString(HttpServletRequest req, String charset) {
BufferedReader br = null;
StringBuilder sb = new StringBuilder();
try {
br = new BufferedReader(new InputStreamReader(req.getInputStream(), charset));
String temp = "";
while ((temp = br.readLine()) != null) {
sb.append(temp);
System.out.println(sb.toString());
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (br != null) {
br.close();
}
} catch (Exception e1) {
e1.toString();
}
}
return sb.toString();
}
main{
//得到json对象
JSONObject jo = parseRequestToJson(request,"utf-8");
//或则使用fastjson
Map<String,String[]> jsonFromSdkServer = request.getParameterMap();
String response_key = jsonFromSdkServer.values().iterator().next()[0];
JSONObject jsonParams = JSON.parseObject(response_key);
}
现在主要说说xml格式的怎么获取:
//其实也就4行代码
//得到post传递过来的xml的string
String xml = request.getParameter("xml");
//DOM解析器工厂
javax.xml.parsers.DocumentBuilderFactory dbf = javax.xml.parsers.DocumentBuilderFactory.newInstance();
//DOM解析器对象
javax.xml.parsers.DocumentBuilder db = dbf.newDocumentBuilder();
//把得到的执行解析
org.w3c.dom.Document parse = db.parse(new ByteArrayInputStream(xml.getBytes()));
//得到xml中例如<name>haha</name>
String name = parse.getElementsByTagName("name").item(0).getFirstChild().getNodeValue();
//输出haha
System.out.println(name);