Я пытался использовать объект HashMap, поскольку у OP не было объекта Java, но он должен нормально работать с любым другим типом объекта Java.
все работает нормально, проблема была с автором, вам нужно очистить содержимое и закрыть поток.
Map<String, String> map = new HashMap<>();
map.put("a","b");
map.put("c","d");
Gson gson = new Gson();
FileWriter writer = new FileWriter(new File("somefile.json"));
gson.toJson(map, writer);
writer.flush();
writer.close();
Содержимое файла:
{"a":"b","c":"d"}
Над кодом можно записать
try(FileWriter writer = new FileWriter(new File("somefile.json"))) {
gson.toJson(map, writer);
writer.flush();
}
Здесь вам не нужно явно закрывать поток, этот стиль кода предпочтительнее первого и избегает подобных ошибок в будущем.