public static ModelAndView Render(
      Object obj, String jsonpCallback, HttpServletResponse response) {
    PrintWriter out = null;
    try {
      StringBuffer jsonp = new StringBuffer();
      if (StringUtils.isBlank(jsonpCallback)) {
        jsonp.append(JsonUtil.Object2JsonStr(obj));
        response.setContentType("application/json");
      } else {
        jsonp.append(jsonpCallback + "(" + JsonUtil.Object2JsonStr(obj) + ")");
        response.setContentType("application/javascript");
      }
      response.setCharacterEncoding("utf-8");
      Pattern p = Pattern.compile("[\u4e00-\u9fa5]");
      Matcher m = p.matcher(jsonp.toString());
      StringBuffer res = new StringBuffer();
      while (m.find()) {
        m.appendReplacement(res, "\\" + toUnicode(m.group()));
      }
      m.appendTail(res);

      out = response.getWriter();
      out.write(res.toString());
    } catch (Exception e) {
      e.printStackTrace();
    } finally {
      if (null != out) out.close();
    }

    return null;
  }