package com.example.qyh.joe.utils; import com.example.qyh.joe.bean.MeiziTu; import com.example.qyh.joe.bean.ThreeDataBean; import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import java.util.ArrayList; import java.util.List; public class ImageJsonUtils { private final static String TAG = "ImageJsonUtils"; private static volatile ImageJsonUtils mCache; private ImageJsonUtils() { } public static ImageJsonUtils getInstance() { if (mCache == null) { synchronized (ImageJsonUtils.class) { if (mCache == null) { mCache = new ImageJsonUtils(); } } } return mCache; } /** * 将获取到的json转换为图片列表对象 * @param res * @return */ public static List<ThreeDataBean> readJsonThreeDataBeans(String res) { List<ThreeDataBean> beans = new ArrayList<ThreeDataBean>(); try { JsonParser parser = new JsonParser(); JsonArray jsonArray = parser.parse(res).getAsJsonArray(); for (int i = 1; i < jsonArray.size(); i++) { JsonObject jo = jsonArray.get(i).getAsJsonObject(); ThreeDataBean news = JsonUtils.deserialize(jo, ThreeDataBean.class); beans.add(news); } } catch (Exception e) { } return beans; } /** * 解析自拍妹子Html * * @param html * @param type * @return */ public List<MeiziTu> parserMeiziTuByAutodyne(String html, String type) { List<MeiziTu> list = new ArrayList<>(); Document doc = Jsoup.parse(html); System.out.println("doc========"+doc); Elements p = doc.getElementsByTag("p"); MeiziTu meiziTu; Element img; for (int i = 0; i < 15; i++) { meiziTu = new MeiziTu(); img = p.get(i).select("img").first(); String src = img.attr("src"); String title = img.attr("alt"); meiziTu.setOrder(i); meiziTu.setType(type); meiziTu.setWidth(0); meiziTu.setHeight(0); meiziTu.setImageurl(src); System.out.println("图片URL=========="+src); meiziTu.setTitle(title); list.add(meiziTu); } return list; } }