21
Фев
2017

Получить список из JSON

Здравствуйте. Есть класс RateObject:

public class RateObject {

private String name;
private double rate;

public RateObject(String name, double rate) {
    this.name = name;
    this.rate = rate;
}

public String getName() {
    return name;
}

public double getRate() {
    return rate;
}}

Есть GET запрос, получает JSON-строку:

http://api.fixer.io/latest?base=RUB&symbols=USD

Есть десериализатор:

public class RatesDeserializer implements JsonDeserializer<RateObject> {
@Nullable
public RateObject deserialize(JsonElement json, Type typeOfT,
                              JsonDeserializationContext context) throws JsonParseException {
    RateObject rate = null;
    if (json.isJsonObject()) {
        Set<Map.Entry<String, JsonElement>> entries =
                json.getAsJsonObject().entrySet();
        if (entries.size() > 0) {
            Map.Entry<String, JsonElement> entry = entries.iterator().next();
            rate = new RateObject(entry.getKey(), entry.getValue().getAsDouble());
        }
    }
    return rate;
}

} Эта строка создает объект на основе JSON объекта:

Gson gson = new GsonBuilder()
                .registerTypeAdapter(RateObject.class, new RatesDeserializer())
                .create();

Все работает хорошо, но как мне получить объект из запроса:

http://api.fixer.io/latest?callback=?

Точнее, интересует список валют и их коэффициент. Сейчас, просто меняя запрос, мы получаем только первую строку. Подскажите, пожалуйста, что следует поменять?

Источник: https://ru.stackoverflow.com/questions/630869/%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B8%D1%82%D1%8C-%D1%81%D0%BF%D0%B8%D1%81%D0%BE%D0%BA-%D0%B8%D0%B7-json

Тебе может это понравится...

Добавить комментарий