2013-05-15 31 views
1

我使用招摇,jaxrs_2.10.0版本1.2.3(1.2.2从刚升级这有相同的结果)扬鞭列表有型“的任何”而不是适当类型

如果我有一个类像这样:

public class XXXResponse 
{ 
    private List<Boolean> booleans; 
    private List<Byte> bytes; 
    private List<Short> shorts; 
    private List<Integer> integers; 
    private List<Long> longs; 
    private List<Float> floats; 
    private List<Double> doubles; 
    private List<String> strings; 
    private List<Date> dates; 

    // set/get methods 
} 

扬鞭报告为:

{ 
    "integers": [ 
    "int" 
    ], 
    "bytes": [ 
    "any" 
    ], 
    "longs": [ 
    "any" 
    ], 
    "dates": [ 
    "any" 
    ], 
    "shorts": [ 
    "any" 
    ], 
    "strings": [ 
    "string" 
    ], 
    "doubles": [ 
    "any" 
    ], 
    "floats": [ 
    "any" 
    ], 
    "booleans": [ 
    "boolean" 
    ] 
} 

有什么具体的魔术,我需要incant使“任何”转成相应的类型?

回答

1

事实证明,在配置杰克逊的伎俩:

JacksonJsonProvider.java

@Provider 
@Produces(MediaType.APPLICATION_JSON) 
public class JacksonJsonProvider extends JacksonJaxbJsonProvider 
{ 
    private static ObjectMapper commonMapper = null; 

    public JacksonJsonProvider() 
    { 
     if(commonMapper == null) 
     { 
      ObjectMapper mapper = new ObjectMapper(); 

      mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); 
      mapper.setSerializationInclusion(JsonInclude.Include.NON_DEFAULT); 
      mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); 
      mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);  
      commonMapper = mapper; 
     } 

     super.setMapper(commonMapper); 
    } 
}