用接口调通内外网数据(一)解析url

这里博主做了个菜博会的视频平台推数据。
视频为内网+外网+html页面模式
实现了多台服务器互通。
遇到的技术问题:解析url,转为json输出,这里的输入流是拼到了Stringbuffer里,所以输出的为stringbuffer对象,要想输出json,直接转换是不行的,我用新建jsonobject并遍历的方法,就可以直接输出json对象了。

这里对A平台的操作

@ResponseBody
@RequestMapping("/test")
public Object test(
) throws Exception {
    String url = "http://localhost:8181/yypt/appVideolist/getVideoType";
    StringBuffer json = new StringBuffer();

    try {
        //实例一个url和URLConnection
        URL oracle = new URL(url);
        //打开链接
        URLConnection yc = oracle.openConnection();
        //输入流作参数传进InputStreamReader并用BufferedReader接受
        BufferedReader in = new BufferedReader(new InputStreamReader(
                yc.getInputStream(),"UTF-8"));
        String inputLine = null;
        //一直读到空,并设置流编码是UTF8
        while ((inputLine = in.readLine()) != null) {
            json.append(new String(inputLine.getBytes(), "UTF-8"));
        }
        //记得关闭连接
        in.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
 //这里遍历了一下stringbuffer数据,新赋值给了jsonobject,就可以直接输出json对象了
     /*JSONArray jn = JSONArray.fromObject(json.toString());
    System.out.println("数据:" + jn);*/
     JSONObject object= JSONObject.parseObject(json.toString());
        if (object.size() > 0) {
            for (int i = 0; i < object.size(); i++) {
                JSONObject jo = (JSONObject) object.get(i);
            }
           /* System.out.println(object);*/
        }
       /* System.out.println("数据大小:" + object.size());*/

    return object;

}

你可能感兴趣的:(用接口调通内外网数据(一)解析url)