依赖:
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.37</version>
</dependency>
代码:
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.io.FileUtils;
import org.springframework.core.io.ClassPathResource;
......
@Test
public void testUser() throws IOException {
ClassPathResource resource = new ClassPathResource("json/user.json");
File file = resource.getFile();
String jsonString = FileUtils.readFileToString(file);
User user = JSON.parseObject(jsonString, User.class);
System.out.println(user);
}
static class User {
private String name;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", sex='" + sex + '\'' +
'}';
}
}
方法封装一下:
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.io.FileUtils;
import org.springframework.core.io.ClassPathResource;
......
@Test
public void testUser() throws IOException {
User user = getBean("json/user.json", User.class);
System.out.println(user);
}
private <T> T getBean(String fileName, Class<T> t) throws IOException {
ClassPathResource resource = new ClassPathResource(fileName);
File file = resource.getFile();
String jsonString = FileUtils.readFileToString(file);
return JSON.parseObject(jsonString, t);
}
static class User {
private String name;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", sex='" + sex + '\'' +
'}';
}
}