Json格式文件

1.把Java对象转换成Json格式

1.1.导入依赖

这里推荐一个插件Jackson,其提供的类可以让Java的类转换成Jason格式文件

  <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.15.3</version>
  </dependency>
1.2.编写User类
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private int id;
    private String name;
    private int age;
    private String address;
}
1.3.编写Controller类
//@RestController = @Controller + @ResponseBody
@RestController
public class UserController {
    //这个注解可以让Controller不走视图解析器,而是返回一个字符串
    //@ResponseBody
    @RequestMapping("/json1")
    public String Json1() throws JsonProcessingException {
        User user = new User(1,"小明",18,"西安");
        //Jackson里有个ObjectMapper类
        ObjectMapper mapper = new ObjectMapper();
        //将java对象转换成json格式
        String str = mapper.writeValueAsString(user);
        return str;
    }
}

介绍几个注解

  • @ResponseBody:这个注解可以让Controller不走视图解析器,而是返回一个字符串 
  • @RestController:@RestController = @Controller + @ResponseBody

结果

2.时间格式的转换

    @RequestMapping("/json2")
    public String Json2() throws JsonProcessingException {

        Date date = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String format = sdf.format(date);
        System.out.println(date);
        //Jackson里有个ObjectMapper类
        ObjectMapper mapper = new ObjectMapper();
        //将java对象转换成json格式
        return mapper.writeValueAsString(format);
    }
  • 获取时间戳 
    Date date = new Date();
  • 修改时间格式
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String format = sdf.format(date);

结果: 

2.1.将复用性高的代码写成工具类

将上面时间格式转换并且以json格式输出的带代码编写成工具类,学习这种降低代码复用性的思想

2.1.1.编写工具类
public class JackUtils {
    public static String getJson(Object object,String dateFormat) throws JsonProcessingException {
        ObjectMapper objectMapper = new ObjectMapper();
        //修改时间格式("yyyy-MM-dd HH:mm:ss")
        SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
        String format = sdf.format(object);
        //将时间转换为Json格式
        return objectMapper.writeValueAsString(format);
    }
}
  • 我们在看源码的时候,经常会有方法重载,同一个名字的方法,少一个参数,也能完成相同的工作,这样的方法,我们又该如何编写?
    public static String getJson(Object object) throws JsonProcessingException {
        return getJson(object,"yyyy-MM-dd HH:mm:ss");
    }
  • 下面这个方法只比上面的方法少了一个参数,下面的方法在编写的时候只需要return上面的方法,再把缺省的参数写死即可!
  • 这种思想要学习,源码基本上都是这样写的

相关推荐

  1. json文件格式化

    2024-02-18 19:44:03       37 阅读
  2. boost库读写json格式文件

    2024-02-18 19:44:03       35 阅读
  3. Python - json 美化格式、保存文件

    2024-02-18 19:44:03       8 阅读
  4. json文件转换成excel格式文件

    2024-02-18 19:44:03       18 阅读
  5. React|获取oss存储的文件,并转为json格式

    2024-02-18 19:44:03       13 阅读
  6. json转yolo格式

    2024-02-18 19:44:03       38 阅读
  7. Json格式解析

    2024-02-18 19:44:03       20 阅读
  8. Json格式备忘

    2024-02-18 19:44:03       9 阅读
  9. Json格式化

    2024-02-18 19:44:03       45 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-18 19:44:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-18 19:44:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-18 19:44:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-18 19:44:03       18 阅读

热门阅读

  1. 从Unity到Three.js(动态创建mesh)

    2024-02-18 19:44:03       37 阅读
  2. UPC训练赛二十/20240217

    2024-02-18 19:44:03       29 阅读
  3. 使用深度学习进行时间序列预测

    2024-02-18 19:44:03       29 阅读
  4. Unity面试手册:初中级面试题

    2024-02-18 19:44:03       30 阅读
  5. MySQL的配置文件my.cnf正常的配置项目

    2024-02-18 19:44:03       30 阅读
  6. 尝试以语法对照表格形式学习新语言:c,rust

    2024-02-18 19:44:03       21 阅读