25

JSON投稿でRESTを使用して、.NETデスクトップアプリとJavaサーバー間の通信のプロトタイピングで、大文字と小文字を区別する問題が発生しています。.NETオブジェクトには、Pascalケーシング(.NETでは一般的)にプロパティがあります(例:( Symbol, EntryValueなど))。一方、同じオブジェクトのJava表現では、キャメルケース(例:)が使用されますsymbol, entryValue

サーバーはjson値を次のように受け取ります。

{"EntrySize":100,"Symbol":"AMZN"}

ただし、Gsonは大文字と小文字を区別しない方法で逆シリアル化しません。Gsonにこれを行わせる方法はありますか?

4

1 に答える 1

43

で使用FieldNamingPolicyしてGsonBuilder、オブジェクトを取得しますGson。あなたのものは一致しているようUPPER_CAMEL_CASEです。

Gson gson = new GsonBuilder()
        .setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE)
        .create();

例外がある場合は、クラスフィールドに@SerializedNameアノテーションを付けます。

于 2012-11-02T03:39:58.767 に答える