Kann GSON Deserialisieren in eine case-insensitive Weise
In-prototyping-Kommunikation zwischen .NET-desktop-Anwendung und Java-server, die Verwendung von REST mit JSON-Beiträge, habe ich eine case-sensitivity-Problem. Die .NET-Objekte haben, gibt es Eigenschaften, die in Pascal Casing (die üblichen, für .NET), z.B.: Symbol, EntryValue
(etc), während die Java-Repräsentation des gleichen Objekt verwendet Kamel-Schreibweise, z.B. symbol, entryValue
.
Erhält der server json-Wert:
{"EntrySize":100,"Symbol":"AMZN"}
Aber Gson nicht Deserialisieren in Kleinschreibung. Gibt es eine Möglichkeit zu bekommen, Gson, dies zu tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
FieldNamingPolicy
auf eineGsonBuilder
, um IhreGson
Objekt. Deins scheint zu passenUPPER_CAMEL_CASE
.Für alle Ausnahmen, Anmerkungen Klasse-Feld mit einem
@SerializedName
annotation.entrysize
,ENTRYSIZE
, undEntrySize
in der gleichen JSON-Objekt? Welche gewinnt? Allerdings nicht ermöglichen die OP zu tun, was Sie tun möchten, ist zu bekommen geringer-camel Benennung auf dem server zu arbeiten, mit upper-camel Namensgebung auf den client, und es scheint, dass selbst in diesem eingeschränkten Umfang hat die Gemeinde fand die Antwort hilfreich.