2016-04-04 11 views
0

GSON解析を1つのキーのみでオーバーライドすることはできますか?1つのキーに対してGSON解析をオーバーライドする

このクラスに
Parse the following JSON: 

{ 
    "a" : "data", 
    "b" : "more data", 
} 

class Foo { 

    String a; 
    String b; 

} 

しかし、逆シリアル化プロセス中に大文字に "b" を変換しますか?

カスタムデシリアライザを作成せず、すべての値を手動で解析することを避けたいと思います。これは大きなクラスです。

おかげ

+0

フィールドで '@ JsonAdapter'アノテーションを使用すると、そのフィールドの特定のタイプアダプターを指定できます。次に、そのフィールドのカスタムデシリアライズを実装する必要があるだけです。 – Remco

+0

あなたはJavaオブジェクト「b」またはjsonデータ「b」 – Bharatesh

+0

Javaオブジェクトについて話しています。 JSONファイルのデータをJavaオブジェクトBの大文字に変換します。 – Ljdawson

答えて

0

Gsonであなたが@SerializedName属性を使用してキーの複数の名前を付けることができ

public static void main(String[] args) { 

    String str1="{" +" \"a\" : \"data\"," +" \"B\" : \"more data\"}"; 
    String str2="{" +" \"a\" : \"data\"," +" \"b\" : \"more data\"}"; 

    Gson gson=new Gson(); 
    //result will be same for both str1 and str2 
    Foo obj=gson.fromJson(str1, Foo.class); 
    System.out.println(obj.getB()); 

} 

class Foo { 
    String a; 
    @SerializedName(value="b", alternate={"B"}) 
    String b; 

    //setter and getters 
} 

Happy_Coding。

関連する問題