package cn.hopetesting.com.test;
import cn.hopetesting.com.domain.User;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.Test;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
/**
* @author newcityman
* @date 2019/9/17 - 23:12
步骤1、导入jackson的三个包
2、创建一个user对象,并赋值
3、创建jackson的核心对象ObjectMapper
4、调用ObjectMapper的writevalue等相关方法
*/
public class TestJson {
@Test
public void test1() throws IOException {
//1、创建对象
User user = new User("zmy",20,"male");
//2、创建jackson的核心对象 ObjectMapper
ObjectMapper mapper = new ObjectMapper();
//3、转换
/*try {
String json = mapper.writeValueAsString(user);
System.out.println(json);
} catch (JsonProcessingException e) {
e.printStackTrace();
}*/
//将数据写到d://a.txt文件中
// mapper.writeValue(new File("d://a.txt"),user);
//将数据关联到writer中
mapper.writeValue(new FileWriter("d://b.txt"),user);
}
@Test
public void test2() throws IOException {
//1、创建对象
User user = new User("zmy",20,"male");
user.setBirthday(new Date());
//2、创建jackson的核心对象 ObjectMapper
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(user);
System.out.println(json);
}
@Test
public void test3() throws IOException {
//1、创建user和list对象
User user = new User("zmy",20,"male",new Date());
User user1 = new User("light",10,"male",new Date());
User user2 = new User("cityboy",5,"male",new Date());
List<User> ps = new ArrayList<User>();
ps.add(user);
ps.add(user1);
ps.add(user2);
//2、创建jackson的核心对象 ObjectMapper
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(ps);
System.out.println(json);
}
@Test
public void test4() throws IOException {
Map<String,Object> map = new HashMap<String, Object>();
map.put("name","zmy");
map.put("age",15);
map.put("gender","男");
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(map);
System.out.println(json);
}
//演示 json字符串转换为java对象
@Test
public void test5() throws IOException {
//初始化json字符串
String json="{\"gender\":\"男\",\"name\":\"zmy\",\"age\":15}";
//创建ObjectMapper对象
ObjectMapper mapper = new ObjectMapper();
//转换json字符串为java对象
User user = mapper.readValue(json, User.class);
System.out.println(user);
}
}