2015-03-19 24 views
0

我有這樣的json我的翻新JSON類應該如何?

{ 「句子」: { 「反式」: 「它的工作原理」, 「原稿」: 「Этоработает。」 「TRANSLIT」: 「」 , 「src_translit」:「Eto rabotayet」。 } ], 「SRC」: 「汝」, 「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 2015-03-19 12:02:30

+0

檢查 - 現在沒事 – SERG 2015-03-19 14:18:20

回答

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; 
    } 
} 

主應答類

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

哇!非常感謝 – SERG 2015-03-19 13:46:23

+0

,但請求是/ * { 「句子」: [{「trans」:「It works。」,「orig」:「Этоработает。」,「translit」:「」,「src_translit」 :「Eto rabotayet。」}] ,「src」:「ru」,「server_time」:12 } */ – SERG 2015-03-19 15:30:22

+0

好的。現在在TranslateResp類中添加這些變量'private String src,server_time;'併爲這些變量創建Getter和Setter。變量名稱必須與Json對象/數組名稱匹配。 – Bharatesh 2015-03-20 03:54:48

相關問題