簡體   English   中英

如何在翻新中迭代鍵值對

[英]How to iterate key-value pair in Retrofit

我在解析以下JSON結構時遇到問題。 基本上,我必須將值對象讀取為列表,但服務器將作為JsonObject返回,並且值基於totalPageCount更改。 有什么辦法可以將值讀取為List 我應該使用反射嗎? 目前,我正在使用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;
}

}

這會起作用

private Map<String,String> values;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM