Tôi gặp nhiều rắc rối khi chuyển đổi kết quả từ api này sang JsonObject.InputStream to JsonObject - GSON
"Kết quả" không thay đổi bất kể tôi cố gắng làm gì.
URL url = new URL(urlString);
InputStream input = url.openStream();
Reader reader = new InputStreamReader(in, "UTF-8");
JsonResult result = new Gson().fromJson(reader, JsonResult.class);
lớp JsonResult
public class JsonResult {
private String status;
private Meta meta;
private ArrayList<Player> players;
}
class Meta{
private String count;
}
Json:
{"status":"ok","meta":{"count":12},"data":[{"nickname":"DataBase","account_id":500566109},{"nickname":"database007","account_id":514382449},{"nickname":"Database04","account_id":504367425},{"nickname":"database08","account_id":515081772},{"nickname":"database1","account_id":503282284},{"nickname":"database1221","account_id":506709044},{"nickname":"database123","account_id":508409172},{"nickname":"database1337","account_id":501661259},{"nickname":"database169","account_id":503884400},{"nickname":"database2","account_id":504337382},{"nickname":"database93","account_id":518691821},{"nickname":"databaseking66","account_id":505911069}]}
Lưu ý: Đây là một dự án trường học
Note 2: Tôi đã kiểm tra và thử nghiệm rất nhiều giải pháp khác từ SO nhưng không tìm thấy hoặc hiểu đúng.
Sửa 1:
public class JsonResult {
@SerializedName("status")
public String status;
@SerializedName("meta")
public Meta meta;
@SerializedName("data")
public Player[] players;
}
class Meta{
@SerializedName("count")
private String count;
}
chơi lớp
public class Player {
private int account_id;
private String nickname;
public Player(int account_id, String nickname){
this.account_id = account_id;
this.nickname = nickname;
}
//Generated
public void setAccount_id(int account_id) {
this.account_id = account_id;
}
//Generated
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String toString() {
return this.account_id + this.nickname;
}
}
Bạn nói rằng bạn đã "rất nhiều rắc rối" - cũng những gì xảy ra? Mã đó có biên dịch không? Có ngoại lệ không? JSON trông như thế nào? –
@Jochem liên kết của bên thứ ba được tán thành, do tính chất năng động của họ (ai đó có thể nhấp vào liên kết trong tương lai và sẽ không tìm thấy bất kỳ điều gì hữu ích). Bài đăng của bạn phải được chỉnh sửa để bao gồm mọi thứ có liên quan. _Ngoài ra một số người trong chúng ta đang đứng sau tường lửa nơi làm việc;) _ – CubeJockey
@Trobbins cảm ơn, nó sẽ ở đó trong giây lát :). Tôi đã chỉnh sửa câu hỏi – JochemQuery