基础环境搭建请参考SringMVC入门程序
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.10.0</version>
</dependency>
com\applesnt\util\JsonUtils.java
package com.applesnt.util;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import java.text.SimpleDateFormat;
/*json工具类*/
public class JsonUtils {
public static String getJson(Object object) {
return getJson(object,"yyyy-MM-dd HH:mm:ss");
}
public static String getJson(Object object,String dateFormat) {
/*jackson提供的对象 ObjectMapper*/
ObjectMapper mapper = new ObjectMapper();
//不使用时间戳的方式
mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
//自定义日期格式对象
SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
//指定日期格式
mapper.setDateFormat(sdf);
try {
return mapper.writeValueAsString(object);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return null;
}
}
resources\springmvc-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
https://www.springframework.org/schema/mvc/spring-mvc.xsd">
<context:component-scan base-package="com.applesnt.controller"/>
<!-- 让Spring MVC不处理静态资源 -->
<mvc:default-servlet-handler />
<!--使用注解驱动,并解决jackson乱码问题-->
<mvc:annotation-driven>
<mvc:message-converters register-defaults="true">
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<constructor-arg value="UTF-8"/>
</bean>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="objectMapper">
<bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean">
<property name="failOnEmptyBeans" value="false"/>
</bean>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
<!--视图解析器:DispatcherServlet给他的ModelAndView-->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>
com\applesnt\vo\UserVo.java
package com.applesnt.vo;
import lombok.Data;
@Data
public class UserVo {
private String id;
private String name;
private String sex;
public UserVo(String id, String name, String sex) {
this.id = id;
this.name = name;
this.sex = sex;
}
}
com\applesnt\controller\JsonController.java
package com.applesnt.controller;
import com.applesnt.util.JsonUtils;
import com.applesnt.vo.UserVo;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Controller
public class JsonController {
/*对象转json*/
@RequestMapping("/getjson1")
@ResponseBody
public String getJson1(){
UserVo userVo = new UserVo("1001","张三","男");
String json = JsonUtils.getJson(userVo);
return json;
}
/*集合转json*/
@RequestMapping("/getjson2")
@ResponseBody
public String getJson2(){
List<UserVo> list = new ArrayList<UserVo>();
UserVo userVo1 = new UserVo("1001","张三","男");
UserVo userVo2 = new UserVo("1002","李四","男");
UserVo userVo3 = new UserVo("1003","王五","女");
list.add(userVo1);
list.add(userVo2);
list.add(userVo3);
String json = JsonUtils.getJson(list);
return json;
}
/*时间转json*/
@RequestMapping("/getjson3")
@ResponseBody
public String getJson3(){
Date date = new Date();
String json = JsonUtils.getJson(date,"yyyy-MM-dd HH:mm:ss");
return json;
}
}
原文:https://www.cnblogs.com/applesnt/p/12616993.html