Здравствуйте. Есть класс 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=?
Точнее, интересует список валют и их коэффициент. Сейчас, просто меняя запрос, мы получаем только первую строку. Подскажите, пожалуйста, что следует поменять?
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости