public static NewsDetail parseNewsDetail(String jsonStr) { NewsDetail detail = new NewsDetail(); String dataStr = JsonParser.parseBase(detail, jsonStr); JSONObject data = JSON.parseObject(dataStr); if (data != null) { for (Map.Entry<String, Object> entry : data.entrySet()) { if (entry.getKey().equals("title")) { detail.title = entry.getValue().toString(); } else if (entry.getKey().equals("abstract")) { detail.abstractX = entry.getValue().toString(); } else if (entry.getKey().equals("content")) { String contentStr = entry.getValue().toString(); try { List<Map<String, String>> list = new LinkedList<>(); JSONArray jsonArray = new JSONArray(contentStr); for (int i = 0; i < jsonArray.length(); i++) { org.json.JSONObject item = jsonArray.getJSONObject(i); // 得到每个对象 Map<String, String> map = new HashMap<>(); if (item.get("type").equals("text")) { map.put("text", item.get("info").toString()); } else if (item.get("type").equals("img")) { String imgStr = item.get("img").toString(); JSONObject imgObj = JSON.parseObject(imgStr); for (Map.Entry<String, Object> imgItem : imgObj.entrySet()) { if (imgItem.getKey().toString().startsWith("imgurl") && !TextUtils.isEmpty(imgItem.getValue().toString())) { JSONObject imgUrlObj = JSON.parseObject(imgItem.getValue().toString()); String url = imgUrlObj.getString("imgurl"); map.put("img", url); break; } } } list.add(map); } detail.content = list; } catch (Exception e) { e.printStackTrace(); } } else if (entry.getKey().equals("url")) { detail.url = entry.getValue().toString(); } else if (entry.getKey().equals("imgurl")) { detail.imgurl = entry.getValue().toString(); } else if (entry.getKey().equals("imgurl1")) { detail.imgurl1 = entry.getValue().toString(); } else if (entry.getKey().equals("imgurl2")) { detail.imgurl2 = entry.getValue().toString(); } else if (entry.getKey().equals("pub_time")) { detail.time = entry.getValue().toString(); } else if (entry.getKey().equals("atype")) { detail.atype = entry.getValue().toString(); } else if (entry.getKey().equals("commentId")) { detail.commentId = entry.getValue().toString(); } else { detail.newsAppId = entry.getValue().toString(); } } } return detail; }
/** * @param url * @param paramMap 不定长度 如果长度为2则head+params,否则param */ public static String returnGet(String url, JSONObject... paramList) { HttpClient httpclient = new DefaultHttpClient(); JSONObject headMap = null; JSONObject paramMap = null; String result = ""; try { HttpGet httpget = new HttpGet(url); // httpget=setBrowHead(httpget); if (paramList == null || paramList.length == 0) { } else if (paramList.length == 1) { paramMap = paramList[0]; } else if (paramList.length == 2) { headMap = paramList[0]; paramMap = paramList[1]; } if (headMap != null && headMap.size() > 0) { for (Entry entry : headMap.entrySet()) { httpget.setHeader(entry.getKey().toString(), entry.getValue().toString()); } } if (paramMap != null && paramMap.size() > 0) { List<NameValuePair> params = new ArrayList<NameValuePair>(); for (Entry entry : paramMap.entrySet()) { params.add( new BasicNameValuePair(entry.getKey().toString(), entry.getValue().toString())); } String str = EntityUtils.toString(new UrlEncodedFormEntity(params, "utf-8")); httpget.setURI(new URI(httpget.getURI().toString() + "?" + str)); } // 执行get请求. HttpResponse response = httpclient.execute(httpget); // 获取响应实体 HttpEntity entity = response.getEntity(); try { System.out.println("--------------------------------------"); // 打印响应状态 System.out.println(response.getStatusLine()); if (entity != null) { // 打印响应内容长度 System.out.println("Response content length: " + entity.getContentLength()); result = EntityUtils.toString(entity); // 打印响应内容 System.out.println("Response content: " + result); } System.out.println("------------------------------------"); } finally { httpget.releaseConnection(); } } catch (Exception e) { e.printStackTrace(); } return result; }
public static NewsItem parseNewsItem(String jsonStr) { NewsItem newsItem = new NewsItem(); JSONObject data = JSON.parseObject(JsonParser.parseBase(newsItem, jsonStr)); // articleIds= NullPoint List<NewsItem.NewsItemBean> list = new ArrayList<NewsItem.NewsItemBean>(); // Set<String> keySet = data.keySet(); for (Map.Entry<String, Object> item : data.entrySet()) { Gson gson = new Gson(); NewsItem.NewsItemBean bean = gson.fromJson(item.getValue().toString(), NewsItem.NewsItemBean.class); bean.index = item.getKey(); list.add(bean); } // 由于fastjson获取出来的entrySet是乱序的 所以这边重新排序 Collections.sort( list, new Comparator<NewsItem.NewsItemBean>() { @Override public int compare(NewsItem.NewsItemBean lhs, NewsItem.NewsItemBean rhs) { return rhs.index.compareTo(lhs.index); } }); newsItem.data = list; return newsItem; }
public static LiveDetail parseMatchLiveDetail(String jsonStr) { LiveDetail detail = new LiveDetail(); detail.data = new LiveDetail.LiveDetailData(); String dataStr = JsonParser.parseBase(detail, jsonStr); JSONObject data = JSON.parseObject(dataStr); List<LiveDetail.LiveDetailData.LiveContent> list = new ArrayList<>(); for (Map.Entry<String, Object> item : data.entrySet()) { if (item.getKey().equals("teamInfo")) { String teamInfo = item.getValue().toString(); detail.data.teamInfo = new Gson().fromJson(teamInfo, LiveDetail.LiveDetailData.TeamInfo.class); } else if (item.getKey().equals("detail")) { JSONObject details = JSON.parseObject(item.getValue().toString()); if (details != null) { for (Map.Entry<String, Object> entry : details.entrySet()) { LiveDetail.LiveDetailData.LiveContent content; String contentStr = entry.getValue().toString(); Gson gson = new Gson(); content = gson.fromJson(contentStr, LiveDetail.LiveDetailData.LiveContent.class); content.id = entry.getKey(); list.add(content); } } } } // 由于fastjson获取出来的entrySet是乱序的 所以这边重新排序 Collections.sort( list, new Comparator<LiveDetail.LiveDetailData.LiveContent>() { @Override public int compare( LiveDetail.LiveDetailData.LiveContent lhs, LiveDetail.LiveDetailData.LiveContent rhs) { return rhs.id.compareTo(lhs.id); } }); detail.data.detail = list; return detail; }
public static StatsRank parseStatsRank(String jsonStr) { StatsRank rank = new StatsRank(); String dataStr = JsonParser.parseBase(rank, jsonStr); JSONObject data = JSON.parseObject(dataStr); for (Map.Entry<String, Object> entry : data.entrySet()) { rank.statType = entry.getKey(); String rankStr = entry.getValue().toString(); Gson gson = new Gson(); rank.rankList = gson.fromJson(rankStr, new TypeToken<List<StatsRank.RankItem>>() {}.getType()); } return rank; }
public static String parseBase(Base base, String jsonStr) { JSONObject jsonObj = JSON.parseObject(jsonStr); String data = "{}"; for (Map.Entry<String, Object> entry : jsonObj.entrySet()) { if (entry.getKey().equals("code")) { base.code = Integer.parseInt(entry.getValue().toString()); } else if (entry.getKey().equals("version")) { base.version = entry.getValue().toString(); } else { data = entry.getValue().toString(); } } return data; }
/** @Author:LZY @Date:2015/2/26 @Fuction:JSONObject SataMap 互转 */ @SuppressWarnings("unchecked") public static SataMap json2SataMap(JSONObject json) { SataMap sataMap = new SataMapImpl(); for (Iterator<Entry<String, Object>> it = json.entrySet().iterator(); it.hasNext(); ) { Entry<String, Object> entry = it.next(); if (entry.getValue() instanceof JSONArray) { SataList list = getSubSataList((JSONArray) entry.getValue()); sataMap.put(entry.getKey(), list); } else { sataMap.put(entry.getKey(), entry.getValue()); } } return sataMap; }