【问题标题】:Jersey delivers an empty JSONJersey 提供一个空的 JSON
【发布时间】:2013-01-10 20:20:14
【问题描述】:

我正在为大学做一个项目,这让我很生气。我需要用 jersey 开发一个 web 服务,但是每个请求都只向我发送这个空 JSON:

[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}]  

数据库查询是测试并提供内容。我只是不知道它会是什么。

Java:

@Path("/getFachbereiche")
public class GetFachbereiche {
    @GET
    @Produces("application/json")
    public Fachbereich[] getFachbereiche() {
        List<Fachbereich>fList = new ArrayList<Fachbereich>();
        Connection conn = MySQLConnection.getInstance();
        if (conn != null) {
            try {
                // Anfrage-Statement erzeugen.
                Statement query;
                query = conn.createStatement();

                // Ergebnistabelle erzeugen und abholen.
                String sql = "SELECT * FROM Fachbereich";
                ResultSet result = query.executeQuery(sql);

                //Ergebniss zurückliefern
                while (result.next()) {
                    fList.add(new Fachbereich(result.getInt(1), result.getString(2)));
                }
            } catch(SQLException e) {
                e.printStackTrace();
            }
        }
        return fList.toArray(new Fachbereich[fList.size()]);
    }
}

【问题讨论】:

    标签: java json jersey


    【解决方案1】:

    您来自 Fachbereich 的属性是私有的,默认情况下,私有属性不会序列化。 你有两个解决方案:

    • 将 XmlElement 注释放在每个属性上,以便将其序列化

    • 或者为每个属性定义一个公共getter。

    【讨论】:

      猜你喜欢
      • 2015-07-28
      • 1970-01-01
      • 2017-04-13
      • 2013-11-19
      • 1970-01-01
      • 2020-06-27
      • 2015-06-21
      • 2013-08-15
      相关资源
      最近更新 更多