Я пытаюсь прочитать некоторые статистические данные, используя API REST от Flurry в моем приложении Spring. Однако мои объекты возвращаются с нулевыми значениями для всех полей. Я думаю, это связано с тем, что ответ JSON добавляет символы @ к полям без массива в ответе. Ответы я получаю выглядеть следующим образом:Невозможно десериализовать ответ json от Flurry API
{
"@endDate": "2015-06-16",
"@metric": "PageViews",
"@startDate": "2015-06-16",
"@generatedDate": "6/16/15 5:06 PM",
"@version": "1.0",
"day": [
{
"@date": "2015-06-16",
"@value": "0"
}
]
}
код, я использую, чтобы сделать запрос выглядит следующим образом:
RestTemplate restTemplate = new RestTemplate();
FlurryAppMetric appMetric = restTemplate.getForObject(url, FlurryAppMetric.class);
return appMetric;
Где FlurryAppMetric следующий (добытчики & сеттеров опущенные):
public class FlurryAppMetric {
private String metric;
private String startDate;
private String endDate;
private String generatedDate;
private String version;
private ArrayList<FlurryMetric> day;
}
public class FlurryMetric {
private String date;
private String value;
}
Одно из возможных решений для разбора все это в качестве карты, но я хотел бы воспользоваться картографом они выставляют, если вообще возможно.
Если есть какой-то способ просто сделать запрос GET и получить тело в виде строки, я смогу очистить ответ и попытаться передать его в картограф.
Хорошо, что мне не нужно было бы манипулировать строкой JSON. Я все еще не уверен, какие классы я должен использовать для создания запроса GET весной, чтобы получить тело ответа в виде строки. –
Если Flurry использует GSON, вы можете просто добавить аннотацию к модели и оставить реализацию FlurryAppMetric как есть: D – reidzeibel