jackson的maven依赖
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.3</version>
</dependency>
使用的对象User
package com.dkp.bean;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
/**
* @author: dukangping
* @Description:
* @Date: Created in 2020/10/24 17:29
*/
public class User {
private String userName;
private Integer age;
// 这里是设置时间的格式
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date birthday;
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
@Override
public String toString() {
return "User{" +
"userName='" + userName + '\'' +
", age=" + age +
", birthday=" + birthday +
'}';
}
}
具体代码如下
package com.dkp.test;
import com.dkp.bean.User;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.List;
/**
* @author: dukangping
* @Description:
* @Date: Created in 2020/10/24 17:28
*/
public class JsonToObject {
public static void main(String[] args) throws JsonProcessingException {
String json = "{\n" +
"\t\"userName\": \"刘亦菲\",\n" +
"\t\"age\": 30,\n" +
"\t\"birthday\": \"2020-10-20 12:16:15\"\n" +
"}";
String josns = "[\n" +
"\t{\n" +
"\t\t\"userName\": \"刘亦菲\",\n" +
"\t\t\"age\": 30,\n" +
"\t\t\"birthday\": \"2020-10-01 12:16:15\"\n" +
"\t},\n" +
"\t{\n" +
"\t\"userName\": \"李艺彤\",\n" +
"\t\"age\": 20,\n" +
"\t\"birthday\": \"2000-09-30 12:16:15\"\n" +
"\t}\n" +
"]";
ObjectMapper objectMapper = new ObjectMapper();
User user = null;
List<User> users = null;
try {
// json字符串转换成对象
user = objectMapper.readValue(json, User.class);
// josn 字符串 转换成对象列表
users = objectMapper.readValue(josns, new TypeReference<List<User>>() {
});
} catch (IOException e) {
e.printStackTrace();
}
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String format = simpleDateFormat.format(user.getBirthday());
System.out.println(user);
System.out.println("----------------------------");
users.forEach( (u) ->{
System.out.println(u.toString());
});
/**
* 对象转 json 字符串
*/
System.out.println("对象转josn字符串----------------");
String s = objectMapper.writeValueAsString(user);
System.out.println(s);
System.out.println();
System.out.println("对象列表转字符串----------------");
String ss = objectMapper.writeValueAsString(users);
System.out.println(ss);
}
}