Java对象转json是Java中很常见的操作,而JsonFormat注解可以对对象中的日期字段进行格式化。下面就来详细讲解这个过程,并附带两个示例说明。
Java对象转json
Java对象转json可以使用很多第三方工具库,如fastjson、Jackson、Gson等等。对于这里的讲解,我们以Jackson为例。
步骤
- 引入Jackson库,可以通过Maven等方式进行引入。
- 使用ObjectMapper类将Java对象转为json字符串。
代码示例
import com.fasterxml.jackson.databind.ObjectMapper;
public class User {
private String name;
private int age;
// getters and setters(省略)
public static void main(String[] args) throws Exception {
ObjectMapper objectMapper = new ObjectMapper();
User user = new User();
user.setName("Tom");
user.setAge(18);
String json = objectMapper.writeValueAsString(user);
System.out.println(json); // 输出 {"name":"Tom","age":18}
}
}
JsonFormat注解
JsonFormat注解可以对Java对象中的日期字段进行格式化。
属性
JsonFormat注解有多个属性,这里只讲解比较常用的属性。
属性名 | 说明 |
---|---|
pattern | 日期格式化字符串,如"yyyy-MM-dd HH:mm:ss" |
timezone | 时区,默认为使用系统默认时区 |
代码示例
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
public class Order {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
// getter and setter 省略
public static void main(String[] args) throws Exception {
Order order = new Order();
order.setCreateTime(new Date());
ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writeValueAsString(order);
System.out.println(json); // 输出 {"createTime":"2021-05-27 11:12:13"}
}
}
上面的示例中,我们使用@JsonFormat注解对createTime字段进行了格式化,用到了pattern和timezone两个属性。
总结
以上就是Java对象转json以及JsonFormat注解的详细讲解。在实际开发中,我们需要根据具体需求选用适合自己的第三方库,并加入一些自定义注解或自定义序列化器等定制化开发来满足更高级的需求。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java对象转json JsonFormat注解 - Python技术站