SpringMVC_08_Jackson

Jackson

  • Jackson的使用步骤

    • 第一步 导入Jackson所需依赖

      <!-- jackson -->
       <dependency>
           <groupId>com.fasterxml.jackson.core</groupId>
           <artifactId>jackson-databind</artifactId>
           <version>2.10.0</version>
       </dependency>  
      
    • 第二步 解决json乱码问题

      • 在SpringMVC-Servlet.xml文件中配置

        mvc:annotation-driven
        <mvc:message-converters register-defaults="true">










        </mvc:message-converters>
        </mvc:annotation-driven>

- 第三步:

   - 在Controller层中使用JACKSON


   - 代码:

          @Controller
          public class UserController {
              @RequestMapping("t1")
              @ResponseBody           //加了 @ResponseBody就不会走视图解析器了,会直接返回一个字符串
              public String json1() throws JsonProcessingException {

                  //通过JACKSON的ObjectMapper对象,将java对象转换成一个json字符串
                  ObjectMapper mapper=new ObjectMapper();

                  //创建一个对象
                  User user=new User("施耐庵","123");
                    
                  //将Java转换为JSON字符串
                  String userStr=mapper.writeValueAsString(user);

                  return userStr;
              }
          }
  • 相关注解

    • @ResponseBody 在方法上加了 @ResponseBody 就不会走视图解析器了,也就是不会返回一个视图页面地址,而是会直接返回一个字符串。

    • @RestController 在类上加@RestController,该类下的所有方法都不会走视图解析器了,会返回JSON 字符串

  • 封装一个JACKSon工具类

    public class JsonUtils {

         public static String getJson(Object object,String dateFormat){
    
             //创建JACKSON独享
             ObjectMapper objectMapper=new ObjectMapper();
    
             //不使用时间戳的方式
             objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS,false);
    
             //自定义日期格式
             SimpleDateFormat sdf=new SimpleDateFormat(dateFormat);
    
             objectMapper.setDateFormat(sdf);
    
             try {
                 return objectMapper.writeValueAsString(object);
             } catch (JsonProcessingException e) {
                 e.printStackTrace();
             }
             return null;
    
    
         }
    
         public static String getJson(Object object){
    
            return getJson(object,"yyyy-mm-dd HH:mm;ss");
         }
     }
    
posted @ 2021-05-18 14:53  失昼  阅读(54)  评论(0)    收藏  举报