SpringBoot解析json文件
## 第一步:要有一个自定义的json文件
例如:
文件名:user.json
[
{
"username":"张三",
"userage":"20"
},
{
"username":"莉莉",
"userage":"18"
}
]
## 第二步:要有一个实体类
例如:
@Data 等同于getter setter
public class User implements Serializable {
private String username;
private String userage;
}
## 第三步:json变为实体类---的工具类
例如:
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.springframework.util.ResourceUtils;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class JsonUser {
private JsonUser(){}
private static JsonUser JsonUser;
public static JsonUser getInstance() {
if (JsonUser == null) {
JsonUser = new JsonUser();
}
return JsonUser;
}
public List<User> readJson() throws Exception {
List<User> list= new ArrayList<>();
File file = ResourceUtils.getFile("classpath:static/user.json");
String jsonData = jsonRead(file);
JSONArray array = JSONArray.parseArray(jsonData);
for (int i = 0; i < array.size(); i++) {
JSONObject jsonObject2 = array.getJSONObject(i);
String username = jsonObject2.getString("username");
String userage = jsonObject2.getString("userage");
User user = new User();
user.setUsername(username);
user.setUserage(userage);
System.out.println(User);
list.add(user);
}
return list;
}
private String jsonRead(File file) {
FileInputStream is = null;
StringBuilder stringBuilder = null;
try {
is = new FileInputStream(file);
InputStreamReader streamReader = new InputStreamReader(is,"utf-8");
BufferedReader reader = new BufferedReader(streamReader);
String line;
stringBuilder = new StringBuilder();
while ((line = reader.readLine()) != null) {
stringBuilder.append(line);
}
reader.close();
is.close();
} catch (Exception e) {
e.printStackTrace();
}
return String.valueOf(stringBuilder);
}
}
## 第四步:如何调用
例如:
List<User> list=JsonUser.getInstance().readJson();