httpclient调用京东万象数字营销频道新闻api实例

来源:互联网 发布:上海紫越网络好吗 编辑:程序博客网 时间:2024/05/22 03:22

本人在使用httpclient做练习的时候,偶然发现京东万象上有一个免费的频道新闻调用api,故尝试之,因为官网文档只给出的java代码都是封装后的,所以我自己写了一遍,又写了一些注释。分享代码,供大家参考。

下面是具体的调用代码:

public void testDemo() throws JSONException, UnsupportedOperationException, IOException {String url = "https://way.jd.com/jisuapi/get";//设置接口地址//设置参数JSONObject jsonObject = new JSONObject();jsonObject.put("channel", channel[1]);jsonObject.put("num", "5");jsonObject.put("start", "0");jsonObject.put("appkey", APPKEY);String uri = changeJsonToArguments(jsonObject);//获取uriCloseableHttpClient httpClient = HttpClients.createDefault();//创建并实例化客户端HttpGet get = new HttpGet(url+uri);//创建并实例化get接口HttpResponse response = httpClient.execute(get);//获取响应output(parseResponse(response).replaceAll(",", LINE));//输出相应实体httpClient.close();//关闭客户端}

下面是解析响应实体的封装方法:

public String parseResponse(HttpResponse response) throws UnsupportedOperationException, IOException {InputStream inputStream = response.getEntity().getContent();//创建并实例化字节输入流,使用响应实体作为输入流    InputStreamReader reader = new InputStreamReader(inputStream, "utf-8");//创建并实例化字符输入流,并设置编码格式    StringBuffer buffer = new StringBuffer(" ");//创建并实例化stringbuffer,存放响应信息    char[] buff = new char[512];//创建并实例化字符数组    int length = 0;//声明变量length,表示读取长度    while ((length = reader.read(buff)) != -1) {//循环读取字符输入流       String x = new String(buff, 0, length);//获取读取到的有效内容       buffer.append(x);//将读取到的内容添加到stringbuffer中    }    return buffer.toString();}

下面是获取到的信息:

{"code":"10000"
"charge":false
"msg":"查询成功"
"result":{"msg":"ok"
"result":{"num":"5"
"channel":"新闻"
"list":[{"src":"澎湃新闻"
"weburl":"http://news.sina.com.cn/c/nd/2017-08-26/doc-ifykiqfe1818402.shtml"
"time":"2017-08-26 17:08"
"pic":""
"title":"北京市食药监局:海底捞限期一个月实现后厨公开"
"category":"news"
"content":"<p class=\"art_p\">原标题:北京市食药监局:海底捞北京所有门店限期一个月内后厨公开</p><p class=\"art_p\">@北京青年报 官方微博8月26日消息,2017年8月25日,有媒体反映本市“海底捞”劲松店、太阳宫店存在经营场所卫生条件存在问题等违规行为。北京市食药监局立即对上述两家门店进行立案调查,并对四川海底捞餐饮股份管理有限公司位于北京地区的1家中央厨房和26家门店开展全面检查,第一时间责任约谈该公司北京地区负责人。</p><p class=\"art_p\">今天下午,北京市食药监局再次约谈“海底捞”北京公司,将本次对“海底捞”全面检查发现的问题进行通报,问题包括消毒记录不全、餐饮具混放、未戴工作帽及口罩等,要求“海底捞”总部落实食品安全主体责任,全面进行限期整改,并按照《关于海底捞火锅北京劲松店、北京太阳宫店事件处理通报》中所承诺,主动向社会公开整改情况,主动接受社会监督。</p><p class=\"art_p\">同时,北京市食药监局表示,将把上述检查发现问题的门店记入北京市企业信用信息平台,并在第二年度餐饮服务单位量化分级中实施减分降级。</p><p class=\"art_p\">此外,要求“海底捞”总部按照承诺对北京各门店实现后厨公开、信息化、可视化,限期一个月完成,同时北京地区负责人能够主动对各门店进行随时检查。</p>"
"url":"http://news.sina.cn/gn/2017-08-26/detail-ifykiqfe1818402.d.html?cre=tianyi&mod=wnews&loc=9&r=25&doct=0&rfunc=100&tj=none&tr=25"}]}
"status":"0"}}


原创粉丝点击