在建立ssm框架项目时遇到配置json数据传输时遇到以上问题,原因可能是springmvc默认是没有对象转换成json的转换器的,需要手动添加jackson依赖.
解决方式:
1.添加jackson依赖
<!--json字符串的相关依赖-->
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.8</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.8.8</version>
</dependency>
2.如果方法一不行,则添加springmvc配置
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.StringHttpMessageConverter"/>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
</mvc:message-converters>
</mvc:annotation-driven>
3.如果步骤2不行,则检查自定义类中是否添加get和set方法,如未添加,则需要添加。
4.如果以上步骤之后还是无法运行,或者出现java.lang.ClassNotFoundException: com.fasterxml.jackson.core.util.DefaultPrettyPrinter错误提示
则可能是编译就没有引入进去jackson的jar包,因为使用的IDEA,所以打开该项目的Project Structure,查看生成的Artifacts包含的jar包信息,果然没有,发现Available Elements 有对应的我新增加的jackson的maven依赖jar包,双击把它们都添加到左边的依赖jar包列表中即可,重新编译项目,启动,不再出现异常,返回数据正常进行json转换。