Guest User

Untitled

a guest
Jul 18th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.79 KB | None | 0 0
  1.   /**
  2.      * Write the provided data to JSON, e.g.
  3.      *
  4.      * <pre>
  5.      * {
  6.      *    "OuterKey_1": {
  7.      *       "SubKey_1_1": 1,
  8.      *       "SubKey_1_2": 2
  9.      *    },
  10.      *    "OuterKey_2": {
  11.      *       "SubKey_2_1": 1,
  12.      *       "SubKey_2_2": 2,
  13.      *       "SubKey_2_3": 3
  14.      *    }
  15.      * }
  16.      * </pre>
  17.      * @param data The data to print
  18.      * @param os The stream to which the JSON will be written
  19.      * @throws IOException
  20.      */
  21.     public static void writeToJSON(Hashtable<String,Hashtable<String,Integer>> data, OutputStream os)
  22.                                                                                     throws IOException {
  23.  
  24.         Escaper esc = new Escaper(false);
  25.  
  26.         PrintWriter pw = new PrintWriter(os,true);
  27.         pw.println("{");
  28.  
  29.         if(data == null){
  30.             pw.println("}");
  31.             return;
  32.         }
  33.  
  34.         Enumeration<String> outerKeys = data.keys();
  35.         while(outerKeys.hasMoreElements()) {
  36.  
  37.             String outerKey = outerKeys.nextElement();
  38.  
  39.  
  40.  
  41.             //  "outerKey": {
  42.             pw.println(String.format("\t\"%s\": { ", esc.escapeJsonString(outerKey)));
  43.  
  44.             Hashtable<String,Integer> innerData = data.get(outerKey);
  45.             Enumeration<String> innerKeys = innerData.keys();
  46.             while(innerKeys.hasMoreElements()){
  47.  
  48.                 String innerKey = innerKeys.nextElement();
  49.                 //     "innerKey": innerVal
  50.                 pw.print(String.format("\t\t\"%s\": %d ", esc.escapeJsonString(innerKey), innerData.get(innerKey)));
  51.                 pw.println(innerKeys.hasMoreElements() ? ",":"");
  52.  
  53.             }
  54.             pw.print("\t}");
  55.             pw.println(outerKeys.hasMoreElements() ? ",":"");
  56.         }
  57.  
  58.  
  59.         pw.println("}");
  60.  
  61.  
  62.     }
Add Comment
Please, Sign In to add comment