Tôi đang cố gắng tuần tự hóa/deserialize JSON trong Android bằng cách sử dụng GSON. Tôi có hai lớp trông như thế này:GSON Deserializing Array của các đối tượng tùy chỉnh
public class Session {
@SerializedName("name")
private String _name;
@SerializedName("users")
private ArrayList<User> _users = new ArrayList<User>();
}
và:
public class User {
@SerializedName("name")
private String _name;
@SerializedName("role")
private int _role;
}
Tôi đang sử dụng GSON cho serializing/deserializing dữ liệu. Tôi serialize như vậy:
Gson gson = new Gson();
String sessionJson = gson.toJson(session);
này sẽ tạo ra JSON trông như thế này:
{
"name":"hi",
"users":
[{"name":"John","role":2}]
}
Và tôi deserialize như vậy:
Gson gson = new Gson();
Session session = gson.fromJson(jsonString, Session.class);
Tôi nhận được một lỗi khi tôi thực hiện cuộc gọi này.
DEBUG/dalvikvm(739): wrong object type: Ljava/util/LinkedList; Ljava/util/ArrayList;
WARN/System.err(739): java.lang.IllegalArgumentException: invalid value for field
Tôi không biết ý nghĩa của lỗi này. Tôi không thấy mình làm bất cứ điều gì nghiêm trọng. Bất kỳ giúp đỡ? Cảm ơn!
Sự cố có vẻ biến mất khi tôi thay đổi danh sách người dùng trong lớp Phiên từ một ArrayList thành Danh sách. Điều này có gây ra vấn đề cho GSON không? –