File file = new File("./json_data/json.data");
if(file.exists()) {
System.out.println("is exists!!");
}else {
System.out.println("is not exists!!");
}
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String line = null;
StringBuilder sb = new StringBuilder();
while((line = br.readLine()) != null) {
sb.append(line);
}
Gson gson = new Gson();
List<Person> personList = gson.fromJson(sb.toString(), new TypeToken<List<Person>>(){}.getType());
for(Person person : personList) {
System.out.println(person.name);
}
GSON을 이용하여 JSONObject를 마샬링 하는 것은 직접 클래스를 지정하여 주면 되지만 List로 반환을 받아야 하는 JsonArray일 경우 TypeToken을 이용하여야 한다.
Gson gson = new Gson();
gson.fromJson( [JsonArray].toString() , new TypeToken<ArrayList<[Casting 할 객체]>>(){}.getType() );
참고로 일반적인 객체로의 변환은
Gson gson = new Gson();
gson.fromJson( [JsonElement or Json.toString()] , [변환하고 싶은 객체].class);