java - 如何用JAVA发回JSON?

标签 java json

我有问题 using Gzip compression and JQuery together .看来这可能是由我在 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 网络应用程序中发送 JSON?

最佳答案

代替

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 对象

关于java - 如何用JAVA发回JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/708901/

相关文章:

javascript - 从 JSON 获取随机引用并将其附加到 div。

java - 如果 Json 中的列表为空,我只想留言...那么我该怎么做...在 recyclerview 中遇到很多冲突

json - Spotify 开发人员信息缺失 "Audio Analysis for a Track"

javascript - 如何在 C# Xamarin for WebView 中实例化 JavaScript 对象

Java Stream groupingBy 其中键是子列表中的元素

java 将一种可选类型转换为另一种可选类型

java - Eclipse F3 快捷键回溯

Java executorservice 正在关闭,即使它的线程正在运行

Java Blackberry - 分配 UiApplication.getUiApplication()

javascript - 查询共享相同值的 JSON 数据