问题描述
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.Set;
公共类MyPojo {
@JsonProperty("name")
private Set<String> names;
@JsonProperty("country")
private String country;
public Set<String> getNames() {
return names;
}
public void setNames(Set<String> names) {
this.names = names;
}
public void setCountry(String country) {
this.country = country;
}
public String getCountry() {
return country;
}
}
从json反序列化为Java对象时,出现以下错误:
org.codehaus.jackson.map.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:53)
org.codehaus.jackson.map.deser.StdDeserializationContext.unkNownFieldException(StdDeserializationContext.java:267)
org.codehaus.jackson.map.deser.std.StdDeserializer.reportUnkNownProperty(StdDeserializer.java:649)
org.codehaus.jackson.map.deser.std.StdDeserializer.handleUnkNownProperty(StdDeserializer.java:635)
org.codehaus.jackson.map.deser.BeanDeserializer.handleUnkNownProperty(BeanDeserializer.java:1355)
org.codehaus.jackson.map.deser.BeanDeserializer.deserializefromObject(BeanDeserializer.java:717)
org.codehaus.jackson.map.deser.BeanDeserializer.deserialize(BeanDeserializer.java:580)
org.codehaus.jackson.map.ObjectMapper._readValue(ObjectMapper.java:2695)
org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1308)
org.codehaus.jackson.jaxrs.JacksonjsonProvider.readFrom(JacksonjsonProvider.java:419)
com.sun.jersey.json.impl.provider.entity.JacksonProviderProxy.readFrom(JacksonProviderProxy.java:139)
com.sun.jersey.spi.container.ContainerRequest.getEntity(ContainerRequest.java:474)
com.sun.jersey.server.impl.model.method.dispatch.EntityParamdispatchProvider$EntityInjectable.getValue(EntityParamdispatchProvider.java:123)
com.sun.jersey.server.impl.inject.InjectableValuesProvider.getInjectableValues(InjectableValuesProvider.java:46)
com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethoddispatchProvider$EntityParamInInvoker.getParams(AbstractResourceMethoddispatchProvider.java:153)
com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethoddispatchProvider$ResponSEOutInvoker._dispatch(AbstractResourceMethoddispatchProvider.java:203)
com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethoddispatcher.dispatch(ResourceJavaMethoddispatcher.java:75)
com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:288)
com.sun.jersey.server.impl.uri.rules.RightHandpathRule.accept(RightHandpathRule.java:147)
com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
com.sun.jersey.server.impl.uri.rules.RightHandpathRule.accept(RightHandpathRule.java:147)
com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1483)
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1414)
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1363)
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1353)
com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:414)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:537)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:708)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
com.flipkart.fsd.filter.CustomFilter.doFilter(CustomFilter.java:72)
com.flipkart.fsd.apis.filter.StatsFilter.doFilter(StatsFilter.java:51)
相反,我尝试导入org.codehaus.jackson.annotate.JsonProperty,现在它可以正常工作且没有错误。一种版本的debian计算机上会发生这种现象。另一台机器,codehaus和fasterxml都可以正常工作!
我无法找到问题的根本原因。请帮忙。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)