Servlet接收application/json和application/xml请求体

环境

jdk7
json-lib-2.4.jar

代码


import net.sf.json.JSON;
import net.sf.json.JSONException;
import net.sf.json.JSONObject;
import net.sf.json.xml.XMLSerializer;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;

import javax.servlet.http.HttpServletRequest;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

    BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream(),"utf-8"));
    String line = null;
    StringBuilder str = new StringBuilder();
    while ((line = br.readLine()) != null) {
      str.append(line);
    }
    if(isJson(str.toString())){
      // 这是一个json格式字符串
      //TODO 业务逻辑
    }
    if(isXML(str.toString())){
      // 这是一个xml格式字符串
      //TODO 业务逻辑
    }
}

public static boolean isJson(String value) {
    try {
      JSONObject.fromObject(value);
    } catch (JSONException e) {
      return false;
    }
    return true;
  }


  public static boolean isXML(String value) {
    try {
      DocumentHelper.parseText(value);
    } catch (DocumentException e) {
      return false;
    }
    return true;
  }

其他

//xml转JSON
  public static String xmlToJson(String str) {
    XMLSerializer xmlSerializer = new XMLSerializer();
    JSON json = xmlSerializer.read(str);
    return json.toString();
  }
//json转XML
  public static String jsonToXml(String json){
    JSONObject jobj = JSONObject.fromObject(json);
    String xml =  new XMLSerializer().write(jobj);
    return xml;
  }
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值