提示:以下是本篇文章正文内容,下面案例可供参考
json解析器:jackson
导入jackson.jar
github下载地址
一、Json转化成java对象
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.Test;
public class JacksonTest {
//json字符串转化为java对象
@Test
public void Tset01() throws Exception {
//1.初始化json字符串
String json = "{\"gender\":\"男\",\"name\":\"张三\",\"age\":20}";
//2.创建ObjectMapper
ObjectMapper objectMapper = new ObjectMapper();
//3.转换为java对象,user对象
User user = objectMapper.readValue(json, User.class);
System.out.println(user);
}
}
二、java对象转换json
user对象
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import java.util.Date;
public class User {
private String name;
private int age;
private String gender;
// @JsonIgnore //json解析忽略该类型
@JsonFormat(pattern = "yyyy-MM-dd") //属性值的格式化
private Date birthday;
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public User() {
}
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 String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
", gender='" + gender + '\'' +
'}';
}
}
json解析
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.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
public class JacksonTest {
@Test
public void Tset01() throws Exception {
User user = new User();
user.setName("张三");
user.setAge(23);
user.setGender("男");
//1.创建Jackson的核心对象 ObjectMapper
ObjectMapper objectMapper = new ObjectMapper();
//2.转换
/***
* 转换方法:
* writeValue(参数1,obj):
* 参数1:
* File:将obj对象转换为json字符串,并保存到指定的文件中
* writer:将obj对象转换为json字符串,并将json数据填充到字符输出流中
* OutputStream:将obj对象转换为json字符串,并将json数据填充到字节输出流中
* writeValueAsString(obj):将对象转为json字符串
*/
// {"name":"张三","age":23,"gender":"男"}
String json = objectMapper.writeValueAsString(user);
System.out.println(json);
// writeValue,将数据写到文件中
//objectMapper.writeValue(new File(""),p);
//writeValue. 将数据关联到Writer中
//objectMapper.writeValue(new FileWriter(""),user);
}
//注解解析json
@Test
public void Tset02() throws Exception{
User user1 = new User();
user1.setName("张三");
user1.setAge(23);
user1.setGender("男");
user1.setBirthday(new Date());
User user2 = new User();
user2.setName("张三");
user2.setAge(23);
user2.setGender("男");
user2.setBirthday(new Date());
User user3 = new User();
user3.setName("张三");
user3.setAge(23);
user3.setGender("男");
user3.setBirthday(new Date());
// ArrayList<User> users = new ArrayList<>();
// users.add(user1);
// users.add(user2);
// users.add(user3);
Map map = new HashMap();
map.put("name","张三");
map.put("age",20);
map.put("gender","男");
ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writeValueAsString(map);
System.out.println(json);
}
}