Java对象转Json对象

1,标准的封装类
2,导入jar包

jackson-annotations-2.2.3.jar
jackson-core-2.2.3.jar
jackson-databind-2.2.3.jar

3,创建封装类对象
4,创建Jackson核心对象

ObjectMapper mapper = new ObjectMapper();

5,调用转换方法

/*
转换方法:
writeValue(参数1,obj):
参数1:
File:将obj对象转换为JSON字符串,并保存到指定的文件中
Writer:将obj对象转换为JSON字符串,并将json数据填充到字符输出流中
OutputStream:将obj对象转换为JSON字符串,并将json数据填充到字节输出流中
writeValueAsString(obj):将对象转为json字符串
*/

List集合转Json

//创建List集合
List<P> ps = new ArrayList<P>();
ps.add(p);
ps.add(p1);
ps.add(p2);


//2.转换
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(ps);

Map对象转Json

Map<String,Object> map = new HashMap<String,Object>();
map.put("name","张三");
map.put("age",23);
map.put("gender","男");
//2.转换
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(map);```

Json对象转Java对象

@Test
public void test5() throws Exception {
//1.初始化JSON字符串
String json = "{\"gender\":\"男\",\"name\":\"张三\",\"age\":23}";

//2.创建ObjectMapper对象
ObjectMapper mapper = new ObjectMapper();
//3.转换为Java对象 Person对象
Person person = mapper.readValue(json, Person.class);

System.out.println(person);
}

相关注解:

1,@JsonIgnore 忽略该属性
2, @JsonFormat 转换的Json格式

@JsonFormat(pattern = "yyyy-MM-dd")
private Date birthday;