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
步驟一、導入jackson的三個包
二、建立一個user對象,並賦值
三、建立jackson的核心對象ObjectMapper
四、調用ObjectMapper的writevalue等相關方法
*/
public class TestJson {
@Test
public void test1() throws IOException {
//一、建立對象
User user = new User("zmy",20,"male");
//二、建立jackson的核心對象 ObjectMapper
ObjectMapper mapper = new ObjectMapper();
//三、轉換
/*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 {
//一、建立對象
User user = new User("zmy",20,"male");
user.setBirthday(new Date());
//二、建立jackson的核心對象 ObjectMapper
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(user);
System.out.println(json);
}
@Test
public void test3() throws IOException {
//一、建立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);
//二、建立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);
}}