Java 当类中有hashMap时,如何使用Gson从json文件中读取对象
我有一个类本身就有hashMap,当我用gson库获取它的json文件并想要再次创建它时,我会得到一些错误 我试图用gson库再次创建对象,但失败了Java 当类中有hashMap时,如何使用Gson从json文件中读取对象,java,json,gson,Java,Json,Gson,我有一个类本身就有hashMap,当我用gson库获取它的json文件并想要再次创建它时,我会得到一些错误 我试图用gson库再次创建对象,但失败了 class A{ private HashMap<String, B> hashMap; private int x; private String y; } class B{/*some simple fields*/} public static void main(String[] args){ G
class A{
private HashMap<String, B> hashMap;
private int x;
private String y;
}
class B{/*some simple fields*/}
public static void main(String[] args){
Gson gson = new GsonBuilder().create();
A a = new A();
/*setting fileds*/
String json = gson.toJson(a);
A newA = gson.fromJson(json, A.class);
}
您需要将传递的对象(这里是A)的字符串表示形式提供给fromJson方法。 请尝试下面的代码
String json = gson.toJson(a);
A newA= gson.fromJson(json, A.class);
我想我找到了解决办法
Gson gson = new GsonBuilder().enableComplexMapKeySerialization().create();
这对我很有用。请发布实际错误我在帖子中添加了错误,第一行说它不是json对象,这正是hashmap中B类的字段
Gson gson = new GsonBuilder().enableComplexMapKeySerialization().create();