zoukankan      html  css  js  c++  java
  • java restful接口

    用json-lib的jar包输出json串:

    public void responseJason(HttpServletResponse response, Object obj){
            ObjectMapper objectMapper = new ObjectMapper();
            ByteArrayOutputStream baos = new ByteArrayOutputStream();// 向OutPutStream中写入                
            try {
                objectMapper.writeValue(baos, obj);// 对象写入json
            } catch (IOException e) {            
                e.printStackTrace();
            }
            response.setContentType("application/json; charset=utf-8");
            try {
                response.getWriter().write(baos.toString());
                response.getWriter().flush();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    相对应的,来解析json串:

    public String getRegionByIP(String ip){
            String url = "http://ip.taobao.com/service/getIpInfo.php?ip="+ip;
            HttpClient httpClient = new DefaultHttpClient();
            HttpPost httpost = new HttpPost(url);
            String returnRegion = "";
            try {            
                HttpResponse response = httpClient.execute(httpost);            
                HttpEntity httpEntity = response.getEntity();            
                String responseString = EntityUtils.toString(httpEntity);            
                ObjectMapper objectMapper = new ObjectMapper();
                Map map = objectMapper.readValue(responseString, Map.class);
                Map dataMap = (Map) map.get("data");
                String region = dataMap.get("region").toString();
                String city = dataMap.get("city").toString();
                returnRegion = region+","+city;
            } catch (ClientProtocolException e) {
                logger.info("用IP: "+ip+" 取省市出错!");
            } catch (IOException e) {    
    //            ipFlag = false;            
                logger.info("用IP: "+ip+" 取省市出错!");
            } catch (Exception e) {
    //            ipFlag = false;            
                logger.info("用IP: "+ip+" 取省市出错!");
            }
            return returnRegion;
        }
  • 相关阅读:
    day09 文件操作
    深信服二面
    test1
    视频测试
    通过独立按键控制LED灯
    第一个LED灯
    为什么我的递归调用次数和书上的不一样?
    函数指针数组
    虚拟内存
    单元测试
  • 原文地址:https://www.cnblogs.com/zhangfei/p/4202831.html
Copyright © 2011-2022 走看看