package file.preprocessing; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import common.Bookmark; import common.Utilities; import file.BookmarkReader; public class JSONProcessor { public static void writeJSONOutput(String filename) { BookmarkReader reader = new BookmarkReader(0, false); reader.readFile(filename); Set<Integer> resources = new HashSet<Integer>(); FileOutputStream writer = null; try { writer = new FileOutputStream(new File("./data/csv/" + filename + ".json")); } catch (Exception e) { e.printStackTrace(); } BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(writer)); for (Bookmark bookmark : reader.getBookmarks()) { //if (!resources.contains(bookmark.getResourceID())) { JSONObject jsonOutput = new JSONObject(); jsonOutput.put("url", reader.getResources().get(bookmark.getResourceID())); jsonOutput.put("timestamp", new Integer(bookmark.getTimestamp())); JSONArray jsonTags = new JSONArray(); for (Integer tag : bookmark.getTags()) { jsonTags.add(reader.getTags().get(tag)); } jsonOutput.put("tags", jsonTags); resources.add(bookmark.getResourceID()); try { bw.write(jsonOutput.toJSONString() + "\n"); } catch (Exception e) { e.printStackTrace(); } //} } try { bw.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }