java fastjson vector转为json_java中将javabean转为json的两种第三方工具类FastjsonJackson...

本文介绍了Java中将JavaBean转换为JSON的两种常用工具库——Fastjson和Jackson的使用方法。包括如何将单个对象和列表对象转换为JSON,以及如何通过过滤器控制属性的显示。Fastjson提供了注解和过滤器来忽略特定属性,而Jackson则通过设置过滤器和日期格式实现属性筛选和日期格式化。
摘要由CSDN通过智能技术生成

java中将javabean转为json的两种第三方工具类FastjsonJackson

java中将javabean转为json的两种第三方工具类Fastjson&&Jackson

一、Fastjson

1、导入jar包

2d40e1ccc24b9285508170f0c89175a6.png

0c11e77447c97aace750833a3d0082bb.png

2.实体类user

public class User {

private int id;

private String name;

private int age;

//对Date类型进行格式化输出

@JSONField(format="yyyy-MM-dd")

private Date birthday;

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public Date getBirthday() {

return birthday;

}

public void setBirthday(Date birthday) {

this.birthday = birthday;

}

}

3、转换的例子

public class FastjsonTest {

// 将User对象转换成json

@Test

public void test1() {

User user = new User();

user.setAge(20);

user.setBirthday(new Date());

user.setId(1);

user.setName("tom");

// 处理属性在json中是否生成

SerializeFilter filter = new PropertyFilter() {

@Override

public boolean apply(Object arg0, String arg1, Object arg2) {

// System.out.println(arg0); //要转换成json的对象

// System.out.println(arg1); //属性名称

// System.out.println(arg2); //属性值

if (arg1.equals("id")) {

return false; // 代表不生成在json串中

}

return true; // 代表生成在json串中

}

};

// 转换成json

String json = JSONObject.toJSONString(user, filter);

System.out.println(json);

// {"age":20,"birthday":1479455891302,"id":1,"name":"tom"}

}

// 将List转换成json

@Test

public void test2() {

User u1 = new User();

u1.setAge(20);

u1.setBirthday(new Date());

u1.setId(1);

u1.setName("tom");

User u2 = new User();

u2.setAge(20);

u2.setBirthday(new Date());

u2.setId(1);

u2.setName("fox");

List users = new ArrayList();

users.add(u1);

users.add(u2);

String json = JSONArray.toJSONString(users);

System.out.println(json);

// [{"age":20,"birthday":1479456003742,"id":1,"name":"tom"},{"age":20,"birthday":1479456003742,"id":1,"name":"fox"}]

}

}

二、Jackson

Spring mvc它的底层使用的就是jackson

1.导入jar包

61577415dd2daf74bd1eecfff6e3a738.png

2.使用

//@JsonIgnoreProperties({ "id", "releaseDate" })

//@JsonFilter("productFilter")

public class Product {

// @JsonIgnore

private int id;

private String name;

private double price;

// @JsonIgnore

private Date releaseDate;// 出生日期

// @JSON(serialize = false)

public Date getReleaseDate() {

return releaseDate;

}

public void setReleaseDate(Date releaseDate) {

this.releaseDate = releaseDate;

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public double getPrice() {

return price;

}

public void setPrice(double price) {

this.price = price;

}

}

81dc69dcab31ca2ca79073843878b147.png

a8a06ee97d71f2696d258820e1d9d77e.png

3、整个操作过程

public class JacksonTest {

// 将Product转换成json

@Test

public void test1() throws JsonGenerationException, JsonMappingException, IOException {

Product p = new Product();

p.setId(1);

p.setName("电视机");

p.setPrice(2000);

p.setReleaseDate(new Date());

ObjectMapper mapper = new ObjectMapper();

mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd")); // 设置日期格式化器

String json = mapper.writeValueAsString(p);

System.out.println(json);

}

// 将List转换成json

@Test

public void test2() throws JsonGenerationException, JsonMappingException, IOException {

Product p1 = new Product();

p1.setId(1);

p1.setName("电视机");

p1.setPrice(2000);

Product p2 = new Product();

p2.setId(2);

p2.setName("电冰箱");

p2.setPrice(3000);

List ps = new ArrayList();

ps.add(p1);

ps.add(p2);

ObjectMapper mapper = new ObjectMapper();

// 处理过滤属性

//        FilterProvider fp = new SimpleFilterProvider().addFilter("productFilter",

//                SimpleBeanPropertyFilter.filterOutAllExcept("id", "name")); //只包含id与name

FilterProvider fp = new SimpleFilterProvider().addFilter("productFilter",

SimpleBeanPropertyFilter.serializeAllExcept("id", "name")); //不包含id与name

mapper.setFilters(fp);

String json = mapper.writeValueAsString(ps);

System.out.println(json);

}

}

java中将javabean转为json的两种第三方工具类FastjsonJackson相关教程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值