Привет, у меня большая проблема с моим кодом. Я реализую личный класс для сериализации и десериализации объектов в Json, и для этого я использую GSON, но. Это мой класс.
public class JsonUtil<T> {
private Gson gson=new Gson();
public JsonUtil(){}
public List<T> getJsonsFile(File file) throws IOException{
List<T> list=null;
try(Reader reader=new FileReader(file.getPath())) {
list= gson.fromJson(reader, new TypeToken<Collection<T>>(){}.getType());
return list;
}
}
public void writeJsonInFile(File file,List<T> list) throws IOException{
try(Writer writer=new FileWriter(file.getPath())){
gson.toJson(list, writer);
}
}
И это мой основной
public class Prova{
public String id;
public Prova(String a){
id=a;
}
public static void main(String[] args){
final File file=new File("MyFollowers copia.json");
JsonUtil<Prova> jsonUtil=new JsonUtil<>();
List<Prova> a=null;
try{
a=jsonUtil.getJsonsFile(file);
}catch (IOException e){}
System.out.println(a.get(0));
}
Мой пример Json
[{"id":"alexandra04.___"},{"id":"riky_vicini"},{"id":"martatofanarii"},{"id":"about._mary"}]
Теперь, когда я запускаю свой код, я получить этот вывод
{id=alexandra04.___}
Я ищу эту проблему, но я не понимаю, как решить эту проблему
Я хочу, чтобы мой объект перечислил со всеми объектами Prova, и я захочу использовать это
for(Prova prova:a){System.out.println(a.id);}
Привет, я решил с этим
public <T> List<T> getJsonsFile(File file,Class<T> cls) throws IOException{
List<T> list=new ArrayList<T>();
try(Reader reader=new FileReader(file.getPath())) {
JsonArray arry=new JsonParser().parse(reader).getAsJsonArray();
for(JsonElement jsonElement:arry){
list.add(gson.fromJson(jsonElement,cls));
}
return list;
//return list;
}
}