请求第三方接口返回json格式数据的解析

来源:互联网 发布:jquery查找子元素数组 编辑:程序博客网 时间:2024/04/25 17:30
HttpClient httpClient = new HttpClient();
httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(5000);
httpClient.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8");

httpClient.getParams().setSoTimeout(5000);

InputStream is = getMethod.getResponseBodyAsStream();
BufferedReader dis = new BufferedReader(new InputStreamReader(is, "utf-8"));
String str = "";
StringBuffer sb = new StringBuffer();
while ((str = dis.readLine()) != null) {
        sb.append(str);
 }
Map mapTypes = JSON.parseObject(sb.toString());                       //原始数据不直接是数组的情况,如果返回的直接是数组,这一步可以跳过
String statuses = StringUtil.null2Str(mapTypes.get("statuses")); //原始数据不直接是数组的情况,如果返回的直接是数组,这一步可以跳过

JSONArray jsonArray = new JSONArray(statuses);                         //转化为数组结构,这一步是必须的

int  jsonSize = jsonArray.length();

for (int k = 0; k < jsonSize; k++) {
                jsonObj = jsonArray.getJSONObject(k);
                isLongText = jsonObj.getBoolean("isLongText");

}

//可以获取isLongText的值,标红的为重点