一、简介
二、JSON
1、json的格式?
2、java对象和json字符串的转换
方法1:使用jackson
- 导入jackson依赖
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.5</version>
</dependency>
- 实体类
package com.itheima.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonIgnore;
public class User {
private String username;
private String password;
private String address;
@JsonIgnore // 转成json时忽略此属性
private Date brithday;
public User(String username, String password) {
super();
this.username = username;
this.password = password;
}
public User() {
super();
}
public String getCustomername() {
return username;
}
public void setCustomername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getAddress() {
return "北京";
}
public void setAddress(String address) {
this.address = address;
}
public String getBrithday() {
return "20190126";
}
public void setBrithday(Date brithday) {
this.brithday = brithday;
}
@Override
public String toString() {
return "User [username=" + username + ", password=" + password + ", address=" + address + ", brithday="
+ brithday + "]";
}
}
- 测试
package com.theima.domain;
import static org.junit.Assert.*;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.itheima.domain.User;
public class UserTest {
/**
* 对象转换成json
*/
@Test
public void testJavaToJson() throws Exception {
User user = new User("zhangsan", "123");
ObjectMapper mapper = new ObjectMapper();
String jsonStr = mapper.writeValueAsString(user);
System.out.println(jsonStr);
List<User> users = new ArrayList<User>();
users.add(user);
users.add(new User("lisi", "456"));
jsonStr = mapper.writeValueAsString(users);
System.out.println(jsonStr);
}
}
- 结果
注意:jackson使用对象的get方法生成JSON字符串
package com.theima.domain;
import static org.junit.Assert.*;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.itheima.domain.User;
public class UserTest {
/**
* json转换成对象
*/
@Test
public void testJsonToObject() throws Exception {
String json = "{\"password\":\"123\",\"address\":\"北京\",\"customername\":\"zhangsan\"}";
ObjectMapper objectMapper = new ObjectMapper();
User user = objectMapper.readValue(json, User.class);
System.out.println(user);
}
}