Not a member of Pastebin yet?
                        Sign Up,
                        it unlocks many cool features!                    
                - package info.emil-genov.json
 - import java.io.FileInputStream;
 - import java.io.FileNotFoundException;
 - import java.io.IOException;
 - import java.io.PrintWriter;
 - import java.util.ArrayList;
 - import java.util.HashMap;
 - import java.util.List;
 - import java.util.Map;
 - import org.json.JSONArray;
 - import org.json.JSONException;
 - import org.json.JSONObject;
 - import com.deenero.commons.StreamUtils;
 - public class GoogleReaderStarredItemsToInstapaperConvertor {
 - /**
 - * @param args
 - * @throws IOException
 - * @throws FileNotFoundException
 - * @throws JSONException
 - */
 - public static void main(String[] args) throws FileNotFoundException, IOException, JSONException {
 - String jsonStr = StreamUtils.getString(new FileInputStream("starred.json"));
 - JSONObject json = new JSONObject(jsonStr);
 - JSONArray items = json.getJSONArray("items");
 - Map<String, List<Object[]>> feeds = new HashMap<String, List<Object[]>>();
 - for (int i = 0; i < items.length(); i++) {
 - JSONObject item = items.getJSONObject(i);
 - String itemDate = item.getString("published");
 - String feedTitle = null;
 - String feedUrl = null;
 - JSONObject origin = item.getJSONObject("origin");
 - if (origin != null) {
 - feedTitle = origin.optString("title");
 - feedUrl = origin.optString("htmlUrl");
 - }
 - String itemTitle = null;
 - if (item.has("title")) {
 - itemTitle = item.getString("title").split("\n")[0];
 - } else {
 - itemTitle = feedTitle + ", " + System.currentTimeMillis();
 - }
 - String itemURL = null;
 - if (item.has("alternate")) {
 - itemURL = ((JSONObject) item.getJSONArray("alternate").get(0)).getString("href");
 - } else if (item.has("enclosure")) {
 - itemURL = ((JSONObject) item.getJSONArray("enclosure").get(0)).getString("href");
 - } else {
 - itemURL = feedUrl;
 - }
 - List<Object[]> list = feeds.get(feedTitle);
 - if (list == null) {
 - list = new ArrayList<Object[]>();
 - feeds.put(feedTitle, list);
 - }
 - list.add(new Object[] { itemTitle, itemURL, itemDate });
 - }
 - PrintWriter writer = new PrintWriter("starred.html");
 - writer.println("<!DOCTYPE html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n<title>Instapaper: Export</title>\n</head>\n");
 - writer.println("<body>\n");
 - for(String feedTitle : feeds.keySet()){
 - writer.println("<h1>"+feedTitle+"</h1>\n");
 - writer.println("<ol>\n");
 - List<Object[]> list = feeds.get(feedTitle);
 - for(Object[] o : list){
 - writer.println("<li><a HREF=\""+o[1]+"\">"+o[0]+"</a></li>\n");
 - }
 - writer.println("</ol>\n\n");
 - }
 - writer.println("</body>\n\n\n");
 - writer.println("</html>\n");
 - }
 - }
 
Advertisement
 
                    Add Comment                
                
                        Please, Sign In to add comment