コード例 #1
0
ファイル: JsonParser.java プロジェクト: xujinjin411/SprintNBA
 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;
 }
コード例 #2
0
ファイル: RequestResutl.java プロジェクト: SnailJin/jlg_lab
  /**
   * @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;
  }
コード例 #3
0
ファイル: JsonParser.java プロジェクト: xujinjin411/SprintNBA
 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;
 }
コード例 #4
0
ファイル: JsonParser.java プロジェクト: xujinjin411/SprintNBA
 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;
 }
コード例 #5
0
ファイル: JsonParser.java プロジェクト: xujinjin411/SprintNBA
 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;
 }
コード例 #6
0
ファイル: JsonParser.java プロジェクト: xujinjin411/SprintNBA
 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;
 }
コード例 #7
0
ファイル: Utility.java プロジェクト: xiaolongyuan/QJ
 /** @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;
 }