7
我想在Android中使用GSON序列化/反序列化JSON。我有一個看起來像這樣兩類:GSON反序列化自定義對象數組
public class Session {
@SerializedName("name")
private String _name;
@SerializedName("users")
private ArrayList<User> _users = new ArrayList<User>();
}
和:
public class User {
@SerializedName("name")
private String _name;
@SerializedName("role")
private int _role;
}
我使用GSON用於序列化/反序列化的數據。我序列像這樣:
Gson gson = new Gson();
String sessionJson = gson.toJson(session);
這將產生JSON看起來像這樣:
{
"name":"hi",
"users":
[{"name":"John","role":2}]
}
我反序列化,像這樣:
Gson gson = new Gson();
Session session = gson.fromJson(jsonString, Session.class);
我得到一個錯誤,當我做這個電話。
DEBUG/dalvikvm(739): wrong object type: Ljava/util/LinkedList; Ljava/util/ArrayList;
WARN/System.err(739): java.lang.IllegalArgumentException: invalid value for field
我不知道這個錯誤的含義。我沒有看到自己在做任何嚴重錯誤的事情。任何幫助?謝謝!
當我將Session類中的用戶列表從ArrayList更改爲List時,問題似乎消失了。這是否會導致GSON出現問題? –