2016-04-04 21 views
0

Sadece bir tuş için GSON ayrıştırmayı geçersiz kılmak mümkün müdür?Tek tuş için GSON ayrıştırma işlemini geçersiz kılma

örn.

class Foo { 

    String a; 
    String b; 

} 

Ama seri kaldırma işlemi sırasında büyük harfe "b" dönüşümü: Bu sınıfın içine

Parse the following JSON: 

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

?

Özel bir desperizatör yazmaktan ve tüm değerleri el ile ayrıştırmaktan kaçınmak istiyorum çünkü bu büyük bir sınıf.

Teşekkür

+0

Bir alandaki '@ JsonAdapter' ek açıklamasını, bu alan için belirli bir yazım denetleyicisi belirlemek için kullanabilirsiniz. O zaman sadece – Remco

+0

o alan için özel serileştirme uygulamanız gerekir .. daha net olabilir misiniz? Hangi 'b' java nesnesi hakkında konuşuyorsunuz 'b' veya json verileri' b' – Bharatesh

+0

Java nesnesi B. JSON dosyasındaki verileri ve Java nesnesinde B harfine dönüştürür. – Ljdawson

cevap

0

GSON size @SerializedName özelliğini kullanarak bir anahtar için birden çok ad verebilir

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;