Jackson JSON Feldzuordnung Großschreibung?
Ich bin mir nicht klar, wie jackson sich mit groß-und Kleinschreibung zuordnen der Felder. Wenn jemand helfen könnte ich würde schätzen es.
{"user":{"username":"[email protected]","password":"pwd","sendercompid":"COMPID","service":{"host":"address","port":6666,"service":"S1","serviceAsString":"s1"}},"MDReqID":"ghost30022","NoRelatedSym":1,"Symbol":["GOOG"],"MarketDepth":"0","NoMDEntryTypes":3,"MDEntryType":["0","1","2"],"SubscriptionRequestType":"1","AggregatedBook":"N"}:
Oben ist mein json, unten ist meine Ausnahme...
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "MDReqID" (class com.myco.qa.fixrest.MarketDataRequest), not marked as ignorable (10 known properties: , "mdreqID", "marketDepth", "user", "subscriptionRequestType", "aggregatedBook", "mdentryType", "symbol", "mdupdateType", "noRelatedSym", "noMDEntryTypes"])
Oben ist meine Ausnahme, unten ist meine Klasse...
public class MarketDataRequest {
private User user;
private String MDReqID;
private char SubscriptionRequestType;
private int MarketDepth;
private int MDUpdateType;
private char AggregatedBook;
private int NoMDEntryTypes;
private ArrayList<Character> MDEntryType;
private int NoRelatedSym;
private ArrayList<String> Symbol;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public String getMDReqID() {
return MDReqID;
}
public void setMDReqID(String MDReqID) {
this.MDReqID = MDReqID;
}
public char getSubscriptionRequestType() {
return SubscriptionRequestType;
}
public void setSubscriptionRequestType(char subscriptionRequestType) {
SubscriptionRequestType = subscriptionRequestType;
}
... et cetera
InformationsquelleAutor der Frage shaz | 2013-03-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da Ihre setter-Methode ist benannt
setMDReqID(…)
Jackson meint, ist die variable namens mDReqID aufgrund der Java-Namenskonventionen (Variablen beginnen mit Kleinbuchstaben). Wenn Sie wirklich wollen, eine Großbuchstaben-verwenden Sie die @JsonProperty annotation auf den setter (oder - für die Serialisierung - auf der getter):@JsonProperty("MDReqID")
.InformationsquelleAutor der Antwort nutlike
Hinzufügen
@JsonProperty
auf die setter-entspricht dem Namen der Eigenschaft in der empfangenen Json-string.Zusätzlich hinzufügen
@JsonProperty
Kommentar zu der getter als auch für Ihre Ausgabe erscheint im konventionellen format.Können Sie die Namen Ihrer Variablen, was auch immer Sie bevorzugen.
InformationsquelleAutor der Antwort reversiblean