【发布时间】:2019-10-03 07:21:43
【问题描述】:
我遇到了 gson 问题。 当我调用 toJson() 方法时,无论我做什么都会抛出 StackOverflowError。
这是我正在尝试的 sn-p。
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>
但根本没有用。
任何评论将不胜感激。 谢谢!
【问题讨论】:
标签: json collections hashmap gson