Kein zuzuordnender Inhalt aufgrund des jackson-Parsers am Ende der Eingabe
Bekomme ich diese Antwort vom server {"status":"true","msg":"success"}
Ich versuche zu Parsen json-string mit Jackson-parser-Bibliothek, aber irgendwie bin ich vor-mapping-Ausnahme,
com.fasterxml.jackson.databind.JsonMappingException: No content to map due to end-of-input
at [Source: java.io.StringReader@421ea4c0; line: 1, column: 1]
Warum bekommen wir diese Art von Ausnahmen?
Wie zu verstehen, was die Ursache für diese Ausnahme?
Ich versuche zu analysieren mit Hilfe folgender Weise:
StatusResponses loginValidator = null;
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(Feature.AUTO_CLOSE_SOURCE, true);
try {
String res = result.getResponseAsString();//{"status":"true","msg":"success"}
loginValidator = objectMapper.readValue(result.getResponseAsString(), StatusResponses.class);
} catch (Exception e) {
e.printStackTrace();
}
StatusResponse-Klasse
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({ "status","msg" })
public class StatusResponses {
@JsonProperty("status")
public String getStatus() {
return status;
}
@JsonProperty("status")
public void setStatus(String status) {
this.status = status;
}
@JsonProperty("msg")
public String getMessage() {
return message;
}
@JsonProperty("msg")
public void setMessage(String message) {
this.message = message;
}
@JsonProperty("status")
private String status;
@JsonProperty("msg")
private String message;
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
@JsonGetter
public Map<String, Object> getAdditionalProperties() {
return additionalProperties;
}
@JsonSetter
public void setAdditionalProperties(Map<String, Object> additionalProperties) {
this.additionalProperties = additionalProperties;
}
}
InformationsquelleAutor der Frage Swapnil | 2014-11-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Weiß nicht, wie es funktionierte und warum es geklappt hat? 🙁 aber es funktionierte
InformationsquelleAutor der Antwort Swapnil
Konnte ich diese Fehler beheben. In meinem Fall war das problem auf client-Seite. Von Fehler habe ich nicht den stream schließen, dass ich das schreiben zum server. Ich Schloss stream und es hat gut funktioniert. Auch der Fehler klingt nach server war nicht in der Lage zu identifizieren, die end-of-input.
InformationsquelleAutor der Antwort Amol
Zum einen
@JsonProperty("status")
und@JsonProperty("msg")
sollte nur da sein, nur bei der Deklaration der Felder, nicht auf die setter und geters.In der Tat, ist der einfachste Weg, um zu analysieren, dies wäre
InformationsquelleAutor der Antwort Katerina A.