1. 程式人生 > >SpringMVC 解決json 中文亂碼

SpringMVC 解決json 中文亂碼

解決json 中文亂碼

在pom.xml 中新增依賴

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.6.3</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId
>
<artifactId>jackson-core</artifactId> <version>2.6.3</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.6.3</version> </dependency
>

在spring配置檔案中新增一下內容

<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
    <property name="messageConverters">
        <list>
            <ref bean="mappingJackson2HttpMessageConverter" />
        </list>
    </property
>
</bean> <bean id="mappingJackson2HttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> <value>text/json;charset=UTF-8</value> <value>application/json;charset=UTF-8</value> </list> </property> </bean>

java形式的配置

@Bean
public AnnotationMethodHandlerAdapter annotationMethodHandlerAdapter() {
    AnnotationMethodHandlerAdapter handlerAdapter = new AnnotationMethodHandlerAdapter();
    handlerAdapter.setMessageConverters(new HttpMessageConverter[]{jackson2HttpMessageConverter()});
    return handlerAdapter;
}

@Bean
public MappingJackson2HttpMessageConverter jackson2HttpMessageConverter(){
    MappingJackson2HttpMessageConverter messageConverter = new MappingJackson2HttpMessageConverter();
    List<MediaType> supportedMediaTypes = new ArrayList<MediaType>();
    supportedMediaTypes.add(MediaType.parseMediaType("text/html;charset=UTF-8"));
    supportedMediaTypes.add(MediaType.parseMediaType("text/json;charset=UTF-8"));
    supportedMediaTypes.add(MediaType.parseMediaType("application/json;charset=UTF-8"));
    messageConverter.setSupportedMediaTypes(supportedMediaTypes);
    return messageConverter;
}