У меня проблемы с gson. Когда я вызываю метод toJson (), он выдает StackOverflowError, что бы я ни делал.
Вот фрагмент кода, который я пытаюсь.
private Map<String, ArrayList<Integer>> mMap = new HashMap<String, ArrayList<Integer>>() {{
put("KEY_A", new ArrayList<Integer>( Arrays.asList(1,2,3)));
put("KEY_B", new ArrayList<Integer>( Arrays.asList(1,3,5)));
put("KEY_C", new ArrayList<Integer>( Arrays.asList(1,2,3)));
}};
Gson gson = new Gson();
public String getString() {
return gson.toJson(mMap);
}
Я пытался указать аргумент типа при вызове метода toJson (), например::
Type type = new TypeToken<Map<String, Object>>(){}.getType();
public String getString() {
return gson.toJson(mMap, type);
}
и пробовал другую конфигурацию типа, такую как:
Type type = new TypeToken<Map<String, ArrayList<Integer>>>(){}.getType();
// Object -> ArrayList<Integer>
, но не работал вообще.
Любой комментарий будет высоко оценен. Спасибо!