当前位置:  开发笔记 > 编程语言 > 正文

如何使用JAVA发送JSON?

如何解决《如何使用JAVA发送JSON?》经验,为你挑选了2个好方法。

我在使用Gzip压缩和JQuery时遇到问题.它似乎可能是由我在Struts Actions中发送JSON响应的方式引起的.我使用下一个代码来发送我的JSON对象.

public ActionForward get(ActionMapping mapping,
    ActionForm     form,
    HttpServletRequest request,
    HttpServletResponse response) {
       JSONObject json = // Do some logic here
       RequestUtils.populateWithJSON(response, json);
       return null;             
}

public static void populateWithJSON(HttpServletResponse response,JSONObject json) {
    if(json!=null) {
        response.setContentType("text/x-json;charset=UTF-8");           
        response.setHeader("Cache-Control", "no-cache");
        try {
             response.getWriter().write(json.toString());
        } catch (IOException e) {
            throw new ApplicationException("IOException in populateWithJSON", e);
        }                               
    }
 }

有没有更好的方法在Java Web应用程序中发送JSON?



1> Prabhu R..:

代替

try {
       response.getWriter().write(json.toString());
} catch (IOException e) {
       throw new ApplicationException("IOException in populateWithJSON", e);
}        

试试这个

try {
        json.write(response.getWriter());
} catch (IOException e) {
        throw new ApplicationException("IOException in populateWithJSON", e);
}                                      

因为这将避免创建一个字符串,JSONObject将直接将字节写入Writer对象



2> 小智..:

在我们的项目中,我们几乎一样,只是我们使用application/json作为内容类型.

维基百科说,JSON的官方互联网媒体类型是application/json.

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有