я получаю следующее JSON из HttpResponseDeserialize JSON с различными типами объектов
{
"result": "success",
"team_registration": {
"current_status": "executed",
"expiration_time": "2012-07-18T21:29:43Z",
"id": 609,
"team_id": 50,
}
}
Как извлечь на «результат» в виде строки и «team_registration» как POJO (в Android) с Джексоном?
В настоящее время у меня есть это:
HttpResponse response = httpClient.execute(httpGet);
if (response.getStatusLine().getStatusCode() == 200) {
HttpEntity entity = response.getEntity();
String json = EntityUtils.toString(entity);
Map<String, Object> map = mapper.readValue(json, new TypeReference<Map<String, Object>>() {
});
result = (String) map.get("result");
resultRegistration = (Registration) map.get("team_registration");
Регистрация класс: "результат"
package be.radarwerk.app.model;
import java.io.Serializable;
import java.util.Date;
import org.codehaus.jackson.annotate.JsonIgnore;
public class Registration implements Serializable { // Todo implements parceable?
private static final long serialVersionUID = 1L;
private int id;
private String currentStatus;
private Date expirationTime;
@JsonIgnore
private Volunteer volunteer;
@JsonIgnore
private Team team;
public Registration() {
}
public Registration(int id, String currentStatus, Volunteer volunteer,
Team team) {
super();
this.id = id;
this.currentStatus = currentStatus;
this.volunteer = volunteer;
this.team = team;
}
public int getId() {
return id;
}
public String getCurrentStatus() {
return currentStatus;
}
public Volunteer getVolunteer() {
return volunteer;
}
public Team getTeam() {
return team;
}
public Date getExpirationTime() {
return expirationTime;
}
}
, как строка работает отлично, но для "registration_moment" Я получаю это исключение: java.lang.ClassCastException : java.util.LinkedHashMap не может быть отнесен к регистрации
Я также попробовал перевести его в строку так же, как «результат» и сделать mapp er.readValue в этой строке. Без успеха.
Любые советы?
Показать код вашего 'Registration' класса, пожалуйста. Кроме того, существует ли общий объект между различными типами «результата»? – fge
Возможно, вы захотите попробовать андроид-запрос (http://code.google.com/p/android-query/wiki/AsyncAPI) –