2012-02-20 8 views
8

Birisi nelerin eklenmesi gerektiğini anlamaya yardımcı olabilir mi?JSON: Tanınmayan alan "value" (<objectClass>), yok sayılır

JSON:

{"value":{"keyword":"better","correct":"","page":0,"size":10,"cost":51,"total":1107}} 

Nesne sınıfı

@JsonAutoDetect 
@JsonSerialize(include = Inclusion.NON_NULL) 
@JsonRootName(value = "value")  
public class Response { 

private int page; 
private int size; 
private int total; 
private int cost; 
private int result; 

private String keyword; 
private String correct; 

Hala servlet appServlet için "Servlet.service() istisna attı alır

org.codehaus.jackson.map .exc.UnrecognizedPropertyException: "

Eğer altta yatan jackson eşleştiricisi yapılandırmanız gerekir RestTemplate kullanıyorsanız, mapper yapılandırma

mapper.configure(SerializationConfig.Feature.WRAP_ROOT_VALUE, true); 
mapper.configure(DeserializationConfig.Feature.UNWRAP_ROOT_VALUE, true); 

bu ekleme

cevap

9

deneyin. Eşleştiricinizi yapılandırarak ve dönüştürücüde ayarlayarak bunu yapabilirsiniz. Aşağıdaki kodlara bakın.

ObjectMapper mapper = new ObjectMapper(); 
mapper.configure(SerializationConfig.Feature.WRAP_ROOT_VALUE, true); 
mapper.configure(DeserializationConfig.Feature.UNWRAP_ROOT_VALUE, true); 


MappingJacksonHttpMessageConverter messageConverter = new MappingJacksonHttpMessageConverter(); 
messageConverter.setObjectMapper(mapper); 
List<HttpMessageConverter<?>> messageConverters = new ArrayList<HttpMessageConverter<?>>(); 
messageConverters.add(messageConverter); 
RestTemplate restTemplate = new RestTemplate(); 
restTemplate.setMessageConverters(messageConverters); 

fazla bilgi için buraya bakınız: cevap için https://jira.springsource.org/browse/ANDROID-45

+0

teşekkür ederiz. Bu arada, ben ObjectMapper kullanmıyorum, bunun yerine RestTemplate kullanıyoruz. RestTemplate kullanmak için – exception01

+0

güncellendi –

İlgili konular