http方式接口响应实现步骤

HTTP服务端JSON解析与处理
本文介绍如何在HTTP服务端解析和处理JSON数据。通过使用InputStream读取请求中的JSON字符串,并利用JSONObject进行解析,文章展示了如何提取JSON中的字段值,并进一步处理这些数据。最后,服务端将处理后的信息封装成JSON格式返回。

jar包

  commons-httpclient-3.0.jar
  commons-logging.jar
  commons-codec-1.3.jar

web.xml需要加入以下配置:

<!-- 模拟HTTP的调用,写的一个http接口 -->
    <servlet>
        <servlet-name>http服务文件名</servlet-name>
        <servlet-class>服务文件路径</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>http服务文件名</servlet-name>
        <url-pattern>/页面访问路径</url-pattern>
    </servlet-mapping>
http服务端解析json
  

  InputStream ins = req.getInputStream();
   byte[] temp = new byte[1024];
   ByteArrayOutputStream baStream = new ByteArrayOutputStream();
   int count = 0;
   while((count = ins.read(temp))!=-1) {
    baStream.write(temp, 0, count);
   }
   if(baStream.size()!=0){
    logger.info("=========传输的JSON String ======>>" + new String(baStream.toByteArray(),"UTF-8"));
    String strJSON=new String(baStream.toByteArray(),"UTF-8");
    if (strJSON != null &&strJSON.startsWith("\ufeff")) {
     strJSON = strJSON.substring(1);//去空格
          }
    JSONObject json=JSONObject.fromObject(strJSON);//解析strJSON
    String a = json.getString("a");
    ........
    //处理逻辑
    .........
   
   List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//返回一个数据List
   
   //查询到的数据
   Map<String, Object> map = new HashMap<String, Object>();
   
   //封装List数据
   String aa = "";
   String bb = "";
   map.put("USERS",aa);
   map.put("NAME",bb);
   list.add(map);
   
   //封装JSON
   JSONObject job=new JSONObject();
   job.put("RETURN","成功");
   job.put("INFO",list);
   String returnInfo = job.toString();

//http服务器返回响应值 response.setContentType("application/json; charset=UTF-8"); response.getWriter().print(outJson);

//不知道代码对不对,需要小伙伴们去验证呀。

 

转载于:https://www.cnblogs.com/Linger-wj/p/6564728.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值