2017-04-23 64 views
0

我在解析下面的JSON結構時遇到了問題。基本上我必須讀取值對象作爲列表,但服務器返回爲JsonObject並且值根據totalPageCount更改。有什麼方法可以讀取List?我應該使用反射?目前我正在使用Retrofit並返回模型類。如何在Retrofit中迭代鍵值對

任何幫助真的很感激。

謝謝

{ 
    "page" : 0, 
    "pageSize" : 10, 
    "totalPageCount" : 1, 
    "values" : { 
    "key1" : "value1", 
    "key2" : "value2", 
    "key3" : "value3", 
    "key4" : "value4", 

    } 
} 

模型類:

import com.google.gson.annotations.Expose; 
import com.google.gson.annotations.SerializedName; 

public class Example { 

@SerializedName("page") 
@Expose 
private Integer page; 
@SerializedName("pageSize") 
@Expose 
private Integer pageSize; 
@SerializedName("totalPageCount") 
@Expose 
private Integer totalPageCount; 
@SerializedName("values") 
@Expose 
private Values values; 

public Integer getPage() { 
return page; 
} 

public void setPage(Integer page) { 
this.page = page; 
} 

public Integer getPageSize() { 
return pageSize; 
} 

public void setPageSize(Integer pageSize) { 
this.pageSize = pageSize; 
} 

public Integer getTotalPageCount() { 
return totalPageCount; 
} 

public void setTotalPageCount(Integer totalPageCount) { 
this.totalPageCount = totalPageCount; 
} 

public Values getValues() { 
return values; 
} 

public void setValues(Values values) { 
this.values = values; 
} 

} 
-----------------------------------com.example.Values.java----------------------------------- 

package com.example; 

import com.google.gson.annotations.Expose; 
import com.google.gson.annotations.SerializedName; 

public class Values { 

@SerializedName("key1") 
@Expose 
private String key1; 
@SerializedName("key2") 
@Expose 
private String key2; 
@SerializedName("key3") 
@Expose 
private String key3; 
@SerializedName("key4") 
@Expose 
private String key4; 

public String getKey1() { 
return key1; 
} 

public void setKey1(String key1) { 
this.key1 = key1; 
} 

public String getKey2() { 
return key2; 
} 

public void setKey2(String key2) { 
this.key2 = key2; 
} 

public String getKey3() { 
return key3; 
} 

public void setKey3(String key3) { 
this.key3 = key3; 
} 

public String getKey4() { 
return key4; 
} 

public void setKey4(String key4) { 
this.key4 = key4; 
} 

} 
+2

試試這個私人地圖值; –

+0

非常感謝!有效 !你可以在答案部分添加它會接受它。 –

回答

1

這將工作

private Map<String,String> values;