2016-03-26 34 views

回答

0

我建議你使用Google's Gson library,以序列化/反序列化的Json字符串POJO的和反序列化回來。 Retrofit2還支持Gson作爲轉換器。

添加compile 'com.squareup.retrofit2:converter-gson'到您的build.gradle營造改造實例如下圖所示:

Retrofit retrofit = new Retrofit.Builder() 
        .baseUrl(BASE_URL) 
        .client(client) 
        .addConverterFactory(GsonConverterFactory.create()) 
        .build(); 

定義你的Java類,並與GSON的SerializedName標籤註釋它們。

public class MyAnswer { 
    @SerializedName("data1") 
    public String data1; 

    @SerializedName("data2") 
    public String data2; 

    @SerializedName("error") 
    public String error; 
} 

然後你就可以得到在onResponse方法的POJO:

@Override 
public void onResponse(Call<ExampleClass> call, Response<ExampleClass> response) { 
    ExampleClass exampleClass = response.body(); 
    ...... 
} 

您也可以從Json的反序列化自己:

Gson gson = new GsonBuilder().create(); 
ExampleClass ec = gson.fromJson(jsonString, ExampleClass.class); 

或者序列化JSON:

ExampleClass ec = new ExampleClass(); 
ec.data1 = "Some text"; 
ec.data2 = "Another text"; 

Gson gson = new GsonBuilder().create(); 
String jsonString = gson.toJson(ec); 

你也可以創建嵌套/ co與Gson混合結構。 欲瞭解更多信息,請訪問their user guide

相關問題