我的 firebase 实时数据库的 POJO 对象构建正确吗?

Is my POJO object for firebase Realtime Database built correctly?

我正在尝试为我的 firebase 实时数据库构建 POJO。 根据我的实时数据库,我做得对吗? Link 下面

detailData、detailContent、detailTitleContent、isDetail、titleContent 它们在任何地方都命名相同,只是其中的文本不同。

public class POJO {
 private String titleContent;
 private String detailContent;
 private String detailTitleContent;
 private List<String> detailData = new ArrayList<>();
 private List<String> textInfo = new ArrayList<>();
 private boolean isDetail;
 private boolean isList;

public POJO() {

}


public POJO(String titleContent, String detailContent, String 
   detailTitleContent, List<String> detailData, List<String> textInfo, 
  boolean isDetail, boolean isList) {
    this.titleContent = titleContent;
    this.detailContent = detailContent;
    this.detailTitleContent = detailTitleContent;
    this.detailData = detailData;
    this.textInfo = textInfo;
    this.isDetail = isDetail;
    this.isList = isList;
}



public String getTitleContent() {
    return titleContent;
}

public String getDetailContent() {
    return detailContent;
}

public String getDetailTitleContent() {
    return detailTitleContent;
}

public List<String> getDetailData() {
    return detailData;
}

public List<String> getTextInfo() {
    return textInfo;
}

public boolean isDetail() {
    return isDetail;
}

public boolean isList() {
    return isList;
}

}

根据以下回复(您提供的回复),我将创建 POJO 类

{
    "datas": [{
        "detailData": [{
            "detailContent": "<p>LOTS of information</p>",
            "detailTitleContent": "Title"
        }, {
            "detailContent": "<p>Lots of more information!</p>",
            "detailTitleContent": "Second Title"
        }],
        "isDetail": false,
        "titleContent": "Last Title"
    }]
}

因此,查看此响应,您可以看到您的第一个(让我们命名为 "MyPojo")class 将有一个 "datas" 对象数组。

public class MyPojo
{
    private Datas[] datas;

    public Datas[] getDatas (){
        return datas;
    }

    public void setDatas (Datas[] datas){
        this.datas = datas;
    }
}

现在我们必须为 "Datas" 创建一个模型对象:

public class Datas
{
    private String isDetail;
    private String titleContent;
    private DetailData[] detailData;

    public String getIsDetail (){
        return isDetail;
    }

    public void setIsDetail (String isDetail){
        this.isDetail = isDetail;
    }

    public String getTitleContent (){
        return titleContent;
    }

    public void setTitleContent (String titleContent){
        this.titleContent = titleContent;
    }

    public DetailData[] getDetailData (){
        return detailData;
    }

    public void setDetailData (DetailData[] detailData){
        this.detailData = detailData;
    }
}

最后但同样重要的是,"DetailData" model 是另一个数组:

public class DetailData
{
    private String detailTitleContent;
    private String detailContent;

    public String getDetailTitleContent (){
        return detailTitleContent;
    }

    public void setDetailTitleContent (String detailTitleContent){
        this.detailTitleContent = detailTitleContent;
    }

    public String getDetailContent (){
        return detailContent;
    }

    public void setDetailContent (String detailContent){
        this.detailContent = detailContent;
    }
}

从这里开始,您的 JSON 响应应该有一个完整的 Pojo 并准备好进行处理。为了您的利益,只想指出两点:

1.我强烈建议你阅读下面的教程Android JSON Parsing Tutorial并密切关注[和{之间的区别-(方括号和大括号) 部分,因为您想深入了解 JSONArrayJSONObject
2. 使用 JSONLint to validate your JSON response as it's helpful sometimes and also use Convert XML or JSON to Java Pojo Classes - Online 工具根据 JSON 响应生成 Pojo classes(在这种情况下我自己使用了它)。这背后的主要好处是准确性,只需不到 1 分钟即可复制和实施。

祝你好运,如果您需要进一步的帮助,请告诉我:)