簡體   English   中英

GSON的序列化對象未正確結束

[英]Serialized object with GSON not properly ended

我有一個struts Action,它提供JSON數據。
使用GSON從具有基本元素的POJO序列化此數據。

在Tomcat 6的localhost ,系統可以正常運行,但是當我將應用程序部署到Weblogic 9時,來自servlet的結果就不好了,生成的JSON沒有正確結束(錯過了})。

這就是pojo(我省略了吸氣劑和吸氣劑)

public class DMTestResponse
{
    private String codiError;
    private String descripcioError;
    private Dades dades = new Dades();

    public class Dades
    {
            private String dada1;
            private String dada2;
            private Integer dada3;
            private String dada4;
    }
}

這是序列化對象的代碼部分:

@Override
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException
{
    // Some things
    response.setContentType("application/json");
    ServletOutputStream os = response.getOutputStream();
    os.write(resp.toString().getBytes(), 0, resp.length());
    os.flush();
    os.close();
}

在tomcat中,解決方法是:

{"codiError": "0", "dades": {"dada1":"bla", "dada2":"bla","dada3":"50";"dada4":"text llarg suspensió"}}

但是從weblogic來看,解決方法是:

{"codiError": "0", "dades": {"dada1":"bla", "dada2":"bla","dada3":"50";"dada4":"text llarg suspensió"}

在weblogic中,您怎么看不到最后的'}'。

可能是什么原因?

可以將不同的服務器配置為使用不同的編碼。 嘗試

response.setContentType("application/json; charset=UTF-8");
ServletOutputStream os = response.getOutputStream();
String s = resp.toString();
byte[] ba = s.getBytes("UTF-8");
os.write(ba, 0, ba.length);
os.flush();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM