2016-07-13 10 views
2

Ich habe eine Anforderung, JSON mit Schlüsseln, die Unterstreichung und sogar ignorieren den Fall in Worten zu erhalten. Für z.B. Device_control_API, device_control_API, Device_Control_API, device_control_aPI usw. sollten alle derselben Eigenschaft zugeordnet sein.jackson - Ignorieren Fall in Schlange Fall Schlüssel

Jetzt weiß ich, dass ich mehrere Setter-Methoden mit @JsonSetter mit allen möglichen Kombinationen erstellen kann, aber ich denke nicht, dass das gut sein wird.

Ich habe andere Fragen gesehen, die mapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true) für ObjectMapper-Objekt vorschlägt Fall zu ignorieren, aber ich kann das nicht, weil ich bin mit Feder-Boot und will meinen REST API Nutzlast in Form POJO-Objekt zu erhalten.

Gibt es eine Anmerkung oder irgendeine Weise so

Bitte helfen Sie zu tun !!!

Antwort

2

Ich glaube nicht, dass Sie die MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES als Anmerkung verwenden können. Haben Sie die folgenden Informationen von here

Jackson Ein/Aus-Funktionen: MapperFeature

Jackson definiert eine Reihe von pro-Mapper-Konfiguration, die nur vor der Verwendung ObjectMapper definiert werden können - was bedeutet, dass diese Einstellungen kann nicht on-the-fly geändert werden, auf Anfrage. Sie konfigurieren grundlegende POJO Introspektionsdetails, und die resultierenden gebauten Objekte (Serialisierer, Deserializer, verwandt) werden stark zwischengespeichert. Wenn Sie unterschiedliche Einstellungen für diese benötigen, müssen Sie separate ObjectMapper Instanzen verwenden.

Und die MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES ist eine der Konfiguration.


Aber vielleicht könnte eine benutzerdefinierte Deserialisierungsklasse Ihnen helfen. Es gibt viele Tutorials und Fragen zu Stackoverflow.

fand ich einige: