繁体   English   中英

JSON:无法识别的字段“值”( <objectClass> ),没有标记为可忽略的

[英]JSON : Unrecognized field “value” (<objectClass>), not marked as ignorable

有人可以帮我弄清楚需要添加什么吗?

JSON:

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

对象类

@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;

它仍然得到servlet appServlet的“Servlet.service()引发异常

org.codehaus.jackson.map.exc.UnrecognizedPropertyException:无法识别的字段“value”(),未标记为可忽略“

尝试将此添加到您的映射器配置中

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

如果使用RestTemplate,则需要配置底层的jackson映射器。 您可以通过配置映射器并在转换器中进行设置来完成此操作。 见下面的代码。

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);

有关详细信息,请参见此处: https//jira.springsource.org/browse/ANDROID-45

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM