当前位置: 首页 > 知识库问答 >
问题:

Firebase对象到Java类

丌官昊天
2023-03-14

..到这个Java category.class:

public class Category {
    private String nombre;
    private String descripcion;
    private String estado;
    private List<String> productos;
    private List<Page> paginas;

    public Category(){}

    public Category(String name) {
        this.nombre = "";
        this.descripcion = "";
        this.estado = "";
        productos = new ArrayList<>();
        paginas = new ArrayList<>();
    }

    public String getCategoryName() {
        return nombre;
    }

    public void setCategoryName(String nombre) {
        this.nombre = nombre;
    }

    public String getCategoryDescription() {
        return descripcion;
    }

    public void setCategoryDescription(String descripcion) {
        this.descripcion = descripcion;
    }

    public String getCategoryState() {
        return estado;
    }

    public void setCategoryState(String estado) {
        this.estado = estado;
    }

    public List<String> getProducts() {
        return this.productos;
    }

    public void setProducts(List<String> productos) {
        this.productos = productos;
    }

    public List<Page> getPages() {
        return this.paginas;
    }

    public void setPages(List<Page> pages) {
        this.paginas = paginas;
    }

    @Override
    public String toString() {
        return nombre;
    }
}

我搜索和阅读了不同的来源,从我理解的我应该使用地图,但事实是,我不知道如何做到这一点...

这是读取的代码,如果我调试它,我可以看到dataSnaphot有我需要的所有东西,但是类别c是null:

FirebaseDatabase.getInstance().getReference().child("categorias").addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
            Category c = snapshot.getValue(Category.class);
            list.add(c);
        }
        AdapterCategories adapter = new AdapterCategories(list);
        recycleView.setAdapter(adapter);
    }

    @Override
    public void onCancelled(DatabaseError error) {
        // Failed to read value
        Toast.makeText(getContext(), error.getMessage(), Toast.LENGTH_LONG).show();
    }
});
"categorias" : {
    "Telas de Hogar" : {
      "descripcion" : "",
      "estado" : "invisible",
      "nombre" : "Telas de Hogar",
      "paginas" : {
        "Loneta" : {
          "descripcion" : "",
          "estado" : "invisible",
          "nombre" : "Loneta"
        }
      }
    }
  }

共有1个答案

乌和畅
2023-03-14

您可以在数据库中存储列表和地图,但它们会导致不同的JSON结构。

如果存储一个包含列表 products 的对象,它在数据库中的结果将如下所示:

"products": {
  "0": "Product one",
  "1": "Product two",
  "2": "Product three"
}

您将注意到Firebase生成的键是顺序数字,存储为字符串值(因为所有键都存储为字符串)。这就是Firebase在数据库中表示列表或数组的方式。

"paragraphs": {
  "-M...1": "He was an old man who fished alone in a skiff in the Gulf Stream...",
  "-M...2": "The old man was thin and gaunt with deep wrinkles in...",
  "-M...3": "Everything about him was old except his..."
}
 类似资料:
  • 我想创建一个字符串,如下所示。 我们如何创建这个字符串使用

  • 我在使用Excel打开xml文件时遇到了一点问题。客户机向我发送了以下类型的XML: 但是,当它到达:时,它会抛出以下错误: 我对如何处理这种类型的文件有点困惑,我尝试将扩展名从。xml更改为。xls,Excel可以用两种方式完美地打开它,但Apache POI不接受它,我不确定是文件的问题还是我如何用InputStream读取它。

  • 问题内容: 我需要解析一个看起来像这样的json文件: 我想将这些X坐标和Y坐标放入JavaObject Click中,该类如下所示: 我看过gson是因为他们说这很容易,但是我不知道如何从文件中做到这一点。 问题答案: 假设您的json字符串数据存储在名为的变量中:

  • XML响应 我为电影和图像创建了pojo类。 Film.java 形象JAVA 请帮助我是新来的,我应该使用JAXB。 解决方案: 我已经加了 在Image的getter方法中,我添加了@xmlement(name=“Image”)。 在Image类中,我添加了一个注释@XmlRootElement(name=“Image”),它提供了我想要的东西。

  • 我试图从一个相当复杂的Java对象生成一个CSV文件。该对象是一个会话,具有一些属性,字符串和消息的列表,这些字符串和消息又具有一些属性,还有一个注释的列表,这些注释具有一些属性。 session类如下所示; 消息类如下所示; 事实上,开始认为(单一的)CSV可能不是解决这个问题的最佳方法。

  • 在这个例子中,我们使用JsonNode创建了一个Tree,并将其写入json文件并读回树,然后将其转换为Student对象。 在C:\》Jackson_WORKSPACE创建名为C:\》Jackson_WORKSPACE的java类文件。 File: JacksonTester.java import java.io.File; import java.io.IOException; import