我们正在开发 Java Rest Web 服务,我们正在使用下面的 jar
jackson-mapper-asl-1.9.2.jar
jackson-jaxrs-1.9.2.jar
jackson-core-asl-1.9.2.jar
jackson-xc-1.9.2.jar
org.json-20120521.jar
使用上面的 jars 下面的代码在 tomcat 服务器中工作正常。
ObjectMapper mapper = new ObjectMapper();
mapper.setSerializationInclusion(Inclusion.NON_NULL);
String userJsonString = mapper.writeValueAsString(userJSON);
JSONObject userJsonObj = new JSONObject(userJsonString);
在 WAS 服务器中部署此程序时,我们遇到以下错误:
Error 500: javax.servlet.ServletException: java.lang.NoSuchMethodError: org/codehaus/jackson/map/ObjectMapper.setSerializationInclusion(Lorg/codehaus/jackson/map/annotate/JsonSerialize$Inclusion;)Lorg/codehaus/jackson/map/ObjectMapper;
最佳答案
从 jar 来看,您似乎正在使用 codehaus jackson:https://github.com/codehaus/jackson/而不是 fastxml jackson:https://github.com/FasterXML/jackson 。使用 codehaus jackson,您的代码将如下所示:
objectMapper.getSerializationConfig().setSerializationInclusion(Inclusion.NON_NULL)
关于java - WAS 服务器中的 org/codehaus/jackson/map/ObjectMapper.setSerializationInclusion 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19539747/