2015-12-17 24 views
1

我一些JSON,例如:改造2.0 GsonConverterFactory與非英文字母的字段返回null的名稱

{ 
    "id": 12, 
    "title": "Title", 
    "photo": [ 
     "image.png" 
    ], 
    "options": { 
     "Поле": "150" 
    } 
} 

創建模型類解析:

public class Model implements Serializable { 

public int id; 
public String title; 
public String[] photo; 
@SerializedName("option") 
public Options option; 

public Model(int id, String title, String[] photo, Options option) { 
    this.id = id; 
    this.title = title; 
    this.photo = photo; 
    this.option = option; 
} 

public class Options implements Serializable { 

    @SerializedName("Поле") 
    public String pole; 

    public Options(String pole) { 
     this.pole = pole; 
    } 
} 
} 

但不幸的是我的Model.Option.pole中有空。

我認爲,問題在於編碼。我對嗎? 我該如何解決這個問題?

PS:在示例 - 場西里爾名

回答

1

我認爲這個問題是@SerializedName("option")應該根據自己的JSON是@SerializedName("options")(注意是複數形式 - 選項小號

註釋SerializedName告訴gson它應該用什麼來序列化和反序列化json中的屬性鍵。您的json中有options,但您告知gson需要序列化並反序列化option

+0

是啊!謝謝!!! – micsha123