springMVC--JSON
#第一步:导入json依赖
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.9.8</version> </dependency>
第二步:在springmvc配置文件中;配置JSON乱码问题
<!-- json乱码配置--> <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>
实体类
//需要导入lombok @Data @AllArgsConstructor @NoArgsConstructor public class User { private String name; private int age; private String sex; }
Controller
package com.kuang.controller; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.kuang.pojo.User; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * @author Administrator * @description: TODO * @date 2021/11/20 15:14 */ @Controller//会走视图解析器,和标签 //@RestController//返回一个字符串 public class UserController { @RequestMapping("/js") /* 这个注解表示不会走视图解析器,直接返回一个字符串 假如使用了RestController,就不需要使用ResponseBody注解了 */ @ResponseBody public String test() throws JsonProcessingException { //json依赖中有一个ObjectMapper,有一个writeValueAsString可以将对象转换为json对象 ObjectMapper mapper = new ObjectMapper(); User user = new User("小李",10,"男"); String str = mapper.writeValueAsString(user); return str; } /** * 将对象数组转换为json格式 * @return * @throws JsonProcessingException */ @RequestMapping("/js1") @ResponseBody public String test1() throws JsonProcessingException { ObjectMapper mapper = new ObjectMapper(); List<User> userList = new ArrayList<User>(); User user1 = new User("小李1",10,"男"); User user2 = new User("小李2",10,"男"); User user3 = new User("小李3",10,"男"); User user4 = new User("小李4",10,"男"); userList.add(user1); userList.add(user2); userList.add(user3); userList.add(user4); String str = mapper.writeValueAsString(userList); return str; } /** * 将Date转换为json格式 * @return * @throws JsonProcessingException */ @RequestMapping("/js2") @ResponseBody public String test2() throws JsonProcessingException { ObjectMapper mapper = new ObjectMapper(); Date date = new Date(); //自定义日期格式化 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-mm-dd HH:mm:ss"); return mapper.writeValueAsString(simpleDateFormat.format(date)); } }