extensions/net.sf.basedb.varsearch/trunk/src/net/sf/basedb/varsearch/JsonUtil.java

Code
Comments
Other
Rev Date Author Line
6162 04 Mar 21 nicklas 1 package net.sf.basedb.varsearch;
6162 04 Mar 21 nicklas 2
6162 04 Mar 21 nicklas 3 import java.io.BufferedReader;
6162 04 Mar 21 nicklas 4 import java.io.IOException;
6162 04 Mar 21 nicklas 5 import java.io.InputStreamReader;
6162 04 Mar 21 nicklas 6 import java.io.Reader;
6162 04 Mar 21 nicklas 7 import java.nio.charset.Charset;
6162 04 Mar 21 nicklas 8
6162 04 Mar 21 nicklas 9 import javax.servlet.http.HttpServletRequest;
6162 04 Mar 21 nicklas 10 import javax.servlet.http.HttpServletResponse;
6162 04 Mar 21 nicklas 11
6162 04 Mar 21 nicklas 12 import org.json.simple.JSONObject;
6162 04 Mar 21 nicklas 13 import org.json.simple.parser.JSONParser;
6162 04 Mar 21 nicklas 14 import org.json.simple.parser.ParseException;
6162 04 Mar 21 nicklas 15
6162 04 Mar 21 nicklas 16 /**
6162 04 Mar 21 nicklas 17   Utility functions for JSON.
6162 04 Mar 21 nicklas 18   @since 1.0
6162 04 Mar 21 nicklas 19 */
6162 04 Mar 21 nicklas 20 public class JsonUtil 
6162 04 Mar 21 nicklas 21 {
6162 04 Mar 21 nicklas 22   /**
6162 04 Mar 21 nicklas 23     Set proper response headers for returning a JSON response.
6162 04 Mar 21 nicklas 24     This sets the content type to: application/json;charset=UTF8
6162 04 Mar 21 nicklas 25     and disable caching of the responses.
6162 04 Mar 21 nicklas 26   */
6162 04 Mar 21 nicklas 27   public static void setJsonResponseHeaders(HttpServletResponse resp)
6162 04 Mar 21 nicklas 28   {
6162 04 Mar 21 nicklas 29     resp.setContentType("application/json");
6162 04 Mar 21 nicklas 30     resp.setCharacterEncoding("UTF-8");
6162 04 Mar 21 nicklas 31     resp.setHeader("Cache-Control", "no-cache, max-age=0");
6162 04 Mar 21 nicklas 32   }
6162 04 Mar 21 nicklas 33
6162 04 Mar 21 nicklas 34   /**
6162 04 Mar 21 nicklas 35     Parse the request as JSON data.
6162 04 Mar 21 nicklas 36   */
6162 04 Mar 21 nicklas 37   public static JSONObject parseRequest(HttpServletRequest request)
6162 04 Mar 21 nicklas 38     throws IOException, ParseException
6162 04 Mar 21 nicklas 39   {
6162 04 Mar 21 nicklas 40     Reader reader = new BufferedReader(new InputStreamReader(request.getInputStream(), Charset.forName("UTF-8")));
6162 04 Mar 21 nicklas 41     JSONObject json = (JSONObject)new JSONParser().parse(reader);
6162 04 Mar 21 nicklas 42     return json;
6162 04 Mar 21 nicklas 43   }
6162 04 Mar 21 nicklas 44   
6162 04 Mar 21 nicklas 45 }