2015-11-06 62 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