2017-05-31 5 views
-2

ObjectMapper mapper = new ObjectMapper();ObjectMapper ne peut pas mapper les variables de la classe interne

try { 
     attractionMainResponse = mapper.readValue(response,AttractionMainResponse.class); 
    } catch(IOException io) { 
     showToast("Something went wrong"); 
     FirebaseCrash.log(io.toString()); 
     finish(); 
    } 

AttractionMainResponse:

@JsonIgnoreProperties (ignoreUnknown = true)

AttractionMainResponse public class {

private AttractionDetailModel Attraction_Info; 
private String response; 

public AttractionMainResponse() { 
    Attraction_Info = null; 
    response =null; 
} 

public AttractionMainResponse(AttractionDetailModel aa,String ab) { 
    Attraction_Info = aa; 
    response = ab; 
} 

public AttractionDetailModel getAttraction_Info() { 
    return Attraction_Info; 
} 

public void setAttraction_Info(AttractionDetailModel attraction_Info) { 
    Attraction_Info = attraction_Info; 
} 

public String getResponse() { 
    return response; 
} 

public void setResponse(String response) { 
    this.response = response; 
} 

}

AttractionDetailModel:

@JsonIgnoreProperties (ignoreUnknown = true) de AttractionDetailModel public class {

private AddressDataAttraction address_data; 
private List<Image> Images; 
private TypesInAttraction Type; 
private String architect; 
private String architectural_style; 
private int city_id; 
private String founder; 
private String description; 
private int id; 
private String name; 
private String height; 
private String opened_since; 
private String popularity; 
private String timings; 
private String visitors; 
private String profile_image_url; 
public AttractionDetailModel() { 
    address_data = null; 
    architect = null; 
    architectural_style = null; 
    city_id=-1; 
    founder = null; 
    description = null; 
    id=-1; 
    name=null; 
    height=null; 
    opened_since=null; 
    popularity = null; 
    timings=null; 
    visitors=null; 
    Images = null; 
    Type=null; 
    profile_image_url=null; 
} 

public AttractionDetailModel(AddressDataAttraction address_data, List<Image> images, TypesInAttraction type, String architect, String architectural_style, int city_id, String founder, String description, int id, String name, String height, String opened_since, String popularity, String timings, String visitors, String profile_image_url) { 
    this.address_data = address_data; 
    Images = images; 
    Type = type; 
    this.architect = architect; 
    this.architectural_style = architectural_style; 
    this.city_id = city_id; 
    this.founder = founder; 
    this.description = description; 
    this.id = id; 
    this.name = name; 
    this.height = height; 
    this.opened_since = opened_since; 
    this.popularity = popularity; 
    this.timings = timings; 
    this.visitors = visitors; 
    this.profile_image_url = profile_image_url; 
} 

public String getProfile_image_url() { 
    return profile_image_url; 
} 
public void setProfile_image_url(String profile_image_url) { 
    this.profile_image_url = profile_image_url; 
} 
public AddressDataAttraction getAddress_data() { 
    return address_data; 
} 
public void setAddress_data(AddressDataAttraction address_data) { 
    this.address_data = address_data; 
} 
public List<Image> getImages() { 
    return Images; 
} 
public void setImages(List<Image> images) { 
    Images = images; 
} 
public TypesInAttraction getType() { 
    return Type; 
} 
public void setType(TypesInAttraction type) { 
    Type = type; 
} 
public String getArchitect() { 
    return architect; 
} 
public void setArchitect(String architect) { 
    this.architect = architect; 
} 
public String getArchitectural_style() { 
    return architectural_style; 
} 
public void setArchitectural_style(String architectural_style) { 
    this.architectural_style = architectural_style; 
} 
public int getCity_id() { 
    return city_id; 
} 
public void setCity_id(int city_id) { 
    this.city_id = city_id; 
} 
public String getFounder() { 
    return founder; 
} 
public void setFounder(String founder) { 
    this.founder = founder; 
} 
public String getDescription() { 
    return description; 
} 
public void setDescription(String description) { 
    this.description = description; 
} 
public int getId() { 
    return id; 
} 
public void setId(int id) { 
    this.id = id; 
} 
public String getName() { 
    return name; 
} 
public void setName(String name) { 
    this.name = name; 
} 
public String getHeight() { 
    return height; 
} 
public void setHeight(String height) { 
    this.height = height; 
} 
public String getOpened_since() { 
    return opened_since; 
} 
public void setOpened_since(String opened_since) { 
    this.opened_since = opened_since; 
} 
public String getPopularity() { 
    return popularity; 
} 
public void setPopularity(String popularity) { 
    this.popularity = popularity; 
} 
public String getTimings() { 
    return timings; 
} 
public void setTimings(String timings) { 
    this.timings = timings; 
} 
public String getVisitors() { 
    return visitors; 
} 
public void setVisitors(String visitors) { 
    this.visitors = visitors; 
} 

}

de AddressDataAttractions:

@JsonIgnoreProperties (ignoreUnknown = true)

AddressDataAttraction public class {

private String address; 
private String city; 
private String country; 
private String landmark; 
private float latitude; 
private float longitude; 
private String pincode; 
private String state; 
public AddressDataAttraction() { 
    address=null; 
    city=null; 
    country=null; 
    landmark=null; 
    latitude=-1; 
    longitude=-1; 
    pincode=null; 
    state=null; 
} 
public AddressDataAttraction(String address, String city, String country, String landmark, float latitude, float longitude, String pincode, String state) { 
    this.address = address; 
    this.city = city; 
    this.country = country; 
    this.landmark = landmark; 
    this.latitude = latitude; 
    this.longitude = longitude; 
    this.pincode = pincode; 
    this.state = state; 
} 
public String getAddress() { 
    return address; 
} 
public void setAddress(String address) { 
    this.address = address; 
} 
public String getCity() { 
    return city; 
} 
public void setCity(String city) { 
    this.city = city; 
} 
public String getCountry() { 
    return country; 
} 
public void setCountry(String country) { 
    this.country = country; 
} 
public String getLandmark() { 
    return landmark; 
} 
public void setLandmark(String landmark) { 
    this.landmark = landmark; 
} 
public float getLatitude() { 
    return latitude; 
} 
public void setLatitude(float latitude) { 
    this.latitude = latitude; 
} 
public float getLongitude() { 
    return longitude; 
} 
public void setLongitude(float longitude) { 
    this.longitude = longitude; 
} 
public String getPincode() { 
    return pincode; 
} 
public void setPincode(String pincode) { 
    this.pincode = pincode; 
} 
public String getState() { 
    return state; 
} 
public void setState(String state) { 
    this.state = state; 
} 

}

TypeInAttraction:

@JsonIgnoreProperties (ignoreUnknown = true) TypesInAttraction public class {

private String type; 
private int id ; 
public TypesInAttraction() { 
    type=null; 
    id=-1; 
} 
public TypesInAttraction(String type, int id) { 
    this.type = type; 
    this.id = id; 
} 
public String getType() { 
    return type; 
} 
public void setType(String type) { 
    this.type = type; 
} 
public int getId() { 
    return id; 
} 
public void setId(int id) { 
    this.id = id; 
} 

}

En mode débogage, la réponse de chaîne dans objectMapper montre la réponse correcte, réponse de chaîne dans attractionMainResponse donnant un succès, mais ne peut pas mapper l'attractionDetailModel, donnant null.

Répondre

0

S'agit-il d'un ObjectMapper Jackson? Est-il possible de créer un exemple plus petit, ce qui rend plus facile de donner une solution.

+0

Oui, il s'agit de Jackson objectMapper uniquement. –

+0

Si vous voyez une erreur, j'ai fait. s'il vous plaît dites-moi. Si ce n'est pas le cas, je vais essayer de vous donner un petit exemple. @jvwilge –