Android 在recyclerview中显示使用Gson从Json解析的数据

Android 在recyclerview中显示使用Gson从Json解析的数据,android,json,gson,android-recyclerview,Android,Json,Gson,Android Recyclerview,我有一个Json字符串: { "Status": "true", "Result": { "rows": { "row": { "status": true, "subareas": [ { "nome": "Associacao Utente", "id": 9, "grafs": { "rows": { "row": {

我有一个Json字符串:

 {
  "Status": "true",
   "Result": {
    "rows": {
     "row": {
       "status": true,
        "subareas": [
        {
         "nome": "Associacao Utente",
         "id": 9,
         "grafs": {
          "rows": {
            "row": {
              "id": 6,
              "nome": "Associacao Utente",
              "tipo": "PIE",
              "serv": "MV_AS_UTENTE_POR_NEGOCIO",
              "periodo": "ANO"
            }
          }
        }
      },
      {
        "nome": "Chaves",
        "id": 60,
        "grafs": {
          "rows": [
            {
              "id": 35,
              "nome": "Chaves Criados por ano",
              "tipo": "LINHA",
              "serv": "MV_ASSOC_TOTAL_CHAVES",
              "periodo": "ANO"
            },
            {
              "id": 592,
              "nome": "Chaves Associado Ao User Portal",
              "tipo": "BAR",
              "serv": "MV_ASSOC_USER_CHAVES",
              "periodo": "TODOS"
            },
            {
              "id": 593,
              "nome": "Chaves Associado Ao Negocios",
              "tipo": "BAR",
              "serv": "MV_ASSOC_CHAVES",
              "periodo": "TODOS"
            }
          ]
        }
      }
    ]
  }
}
}
}
使用Gson将其正确反序列化为Pojo。下面我向您展示我的反序列化程序:

Example.java

public class Example {
private String Status;
private Result Result;

public String getStatus() {
    return Status;
}
public void setStatus(String status) {
    Status = status;
}
public Result getResult() {
    return Result;
}
public void setResult(Result result) {
    Result = result;
}
@Override
public String toString() {
    return "Example [Status=" + Status + ", Result=" + Result + "]";
}
Result.java

public class Result {
private Rows rows;

public Rows getRows() {
    return rows;
}

public void setRows(Rows rows) {
    this.rows = rows;
}

@Override
public String toString() {
    return "Result [rows=" + rows + "]";
}
Rows.java

public class Rows {
private Row row;

public Row getRow() {
    return row;
}
public void setRow(Row row) {
    this.row = row;
}
@Override
public String toString() {
    return "Rows [row=" + row + "]";
}
Row.java

public class Row {
private Boolean status;
private List<Subarea> subareas = new ArrayList<>();

public Boolean getStatus() {
    return status;
}
public void setStatus(Boolean status) {
    this.status = status;
}
public List<Subarea> getSubareas() {
    return subareas;
}
public void setSubareas(List<Subarea> subareas) {
    this.subareas = subareas;
}
@Override
public String toString() {
    return "Row [status=" + status + ", subareas=" + subareas + "]";
}
Grafs.java

public class Grafs {
private Row_[] rows;

public List<Row_> getRows() {
    return new LinkedList<Row_>( Arrays.asList(rows));
}
public void setRows(List<Row_> rows) {
    this.rows = (Row_[]) rows.toArray();
}
@Override
public String toString() {
    return "Grafs [rows=" + rows[0] + "]";
}
public static class Row_Deserializer implements JsonDeserializer<Row_[]>{
    @Override
    public Row_[] deserialize(JsonElement json, Type typeOfT,
    JsonDeserializationContext context) throws JsonParseException{
        if(json instanceof JsonArray){
            return new Gson().fromJson(json, Row_[].class);
        }
        System.out.println("ola");
        Rows1 child = context.deserialize(json, Rows1.class);
        System.out.println(child.getRow().getId());
        return new Row_[] {child.getRow()};
    }
}
这可以很好地反序列化json。我需要帮助的是在recyclerview中显示一些数据,以便生成以下输出。我想显示每个分区及其祖父的名字。第一个子区域有一个grafs,第二个子区域有grafs,正如您在输出中看到的那样


您可以使用以下行解析json:

new Gson().fromJson(json, Example.class);

这是最简单的方法。

没有人吗?任何人请帮帮我,解析器已经完成了,我需要做的是按照所需的输出显示数据…有人这样想。解析器工作正常。嘿,伙计们……请花点时间来帮助我。你可以创建自己的视图。使用滚动视图并在此滚动视图中添加视图。这是一种简单的方法。我不需要显示json中包含的所有数据,只需要显示子区域和它们的Graf…我应该使用recyclerview。
public class Row_ {
private Integer id;
private String nome;
private String serv;
private String periodo; 

public Integer getId() {
    return id;
}
public void setId(Integer id) {
    this.id = id;
}
public String getNome() {
    return nome;
}
public void setNome(String nome) {
    this.nome = nome;
}
public String getServ() {
    return serv;
}
public void setServ(String serv) {
    this.serv = serv;
}
public String getPeriodo() {
    return periodo;
}
public void setPeriodo(String periodo) {
    this.periodo = periodo;
}
@Override
public String toString() {
    return "Row_ [id=" + id + ", nome=" + nome + ", serv=" + serv
            + ", periodo=" + periodo + "]";
}
new Gson().fromJson(json, Example.class);