2015-11-06 60 views
0

我有以下方法返回整數(原始類型):如何作爲響應JSON

public class sum { 

    @GET 
    @Produces(MediaType.APPLICATION_JSON) 
    @Consumes("application/json") 
    public responseObject sumOfTwo(@QueryParam("a") int a, @QueryParam("b") int b) { 
     return new responseObject(a+b); 
    } 
} 
@XmlRootElement 
class responseObject{ 
    public int res; 
    public responseObject(int res){ 
     this.res = res; 
    } 
    public responseObject(){ 
     //default C'tor 
    } 
    public int getRes(){ 
     return this.res; 
    } 
} 

這將返回{"res":"value of a+b"}在引號值。我希望它作爲一個整數返回值,不用引號,但我把它作爲一個字符串。我如何序列化/反序列化它只輸出一個整數?

回答

0

你有沒有試過「整數」而不是primitve「int」? 你的JSON提供商是什麼?

我看到的大多數JSON序列化問題都可以通過將Json提供程序從默認(MOxy)Json提供程序更改爲Jackson來處理。它會像你想象的那樣處理bean序列化。另一方面,MOxy通常對我的經驗有問題。

如何使用傑克遜球衣:https://jersey.java.net/documentation/latest/media.html#json.jackson

+0

整數,而不是INT ins't影響。 我使用默認的Json提供程序,現在嘗試與Jackson合作。 – ohadsas