Elimdeki Collectiondaki elemanlari json olarak bi dosyaya yazayım dediğimde çok sorun yok.
Collection col = bizimElemanListesiGetir(...);
//String path = ".....";
File file = new File(path + "elemanlar.json");
file.createNewFile();
Writer writer = new FileWriter(file);
//dogrudan dosyaya json olarak gonder.
gson.toJson(col, writer);
writer.close();
fakat bunlari okurken şunu yapmaya çalışırsanız ve
File file = new File(path + "elemanlar.json");
Reader reader = new FileReader(file);
Collection col = (Collection) gson.fromJson(reader, Collection.class);
Generic olmasiyla ilgili bir sorun olursa ve java.lang.ClassCastException: com.google.gson.internal.LinkedTreeMap gibi hatalar alınırsa;
şunu denemeli
Type colType = new TypeToken<Collection>() {}.getType();
Collection col = new Gson().fromJson(reader, colType );
Burdaki Type java.lang.reflect.Type ve TypeToken da com.google.gson.reflect.TypeToken .