2015-03-19 3 views
0

у меня есть такие JSonКак должен быть мой модифицированный класс json?

{ "предложения": [ { "транс": "Она работает", "туринг": "Это работает.", "транслит": "" , "src_translit": "Это работает". } ], "ЦСИ": "ру", "server_time": 12 }

Код:

public interface TraslatorRetrofit { 

@GET("/translate_a/t?client=x&text=text&hl=ru&sl=ru&tl=en") 
void listRepos (@Query("text") String text, Callback<List<TranslateResp>> cb);} 

public class TranslateResp { 
    private List<String> sentences; 
} 

Но я всегда Получать такую ​​ошибку «Ожидаемое BEGIN_OBJECT но BEGIN_ARRAY в строка 1 колонка»

Как должен мой класс выглядеть? Благодарю.

+0

ваш ответ на запрос не в правильном формате JSON. сначала проверьте. – Bharatesh

+0

проверено - теперь это нормально – SERG

ответ

1

Если ответ на запрос, как это

{"sentences": 
    [ 
    { 
    "trans":"It works.","orig":"Это работает.", 
    "translit":"","src_translit":"Eto rabotayet.", 
    "src":"ru", 
    "server_time":12 
    } 
] 
} 

то, что классы будут

public class Sentence { 

    @Expose 
    private String trans; 
    @Expose 
    private String orig; 
    @Expose 
    private String translit; 
    @SerializedName("src_translit") 
    @Expose 
    private String srcTranslit; 
    @Expose 
    private String src; 
    @SerializedName("server_time") 
    @Expose 
    private Integer serverTime; 

    public String getTrans() { 
     return trans; 
    } 

    public void setTrans(String trans) { 
     this.trans = trans; 
    } 

    public String getOrig() { 
     return orig; 
    } 

    public void setOrig(String orig) { 
     this.orig = orig; 
    } 

    public String getTranslit() { 
     return translit; 
    } 

    public void setTranslit(String translit) { 
     this.translit = translit; 
    } 

    public String getSrcTranslit() { 
     return srcTranslit; 
    } 

    public void setSrcTranslit(String srcTranslit) { 
     this.srcTranslit = srcTranslit; 
    } 

    public String getSrc() { 
     return src; 
    } 

    public void setSrc(String src) { 
     this.src = src; 
    } 

    public Integer getServerTime() { 
     return serverTime; 
    } 

    public void setServerTime(Integer serverTime) { 
     this.serverTime = serverTime; 
    } 
} 

Main Response Класс

public class TranslateResp { 

@Expose 
private List<Sentence> sentences = new ArrayList<Sentence>(); 

public List<Sentence> getSentences() { 
return sentences; 
} 

public void setSentences(List<Sentence> sentences) { 
this.sentences = sentences; 
} 

} 

ли посетить Json Schema 2 Pojo

+0

WOW !!! Большое спасибо – SERG

+0

, но запрос есть/* { "предложения": [{"trans": "It works.", "orig": "Это работает.", "translit": "", "src_translit" : "Ето rabotayet."}] , "SRC": "ру", "server_time": 12 } */ – SERG

+0

ОК. Теперь в классе TranslateResp добавьте эти переменные 'private String src, server_time;' и создайте Getter и Setter для этих переменных. Имя переменной должно совпадать с именем объекта/массива Json. – Bharatesh