java - 返回空 JSON 的 Jersey Web 服务

标签 java json rest jersey

我想获取一个数据库表的数据到客户端。我正在通过 JSON 发送数据。当我在客户端打印输出结果时,它给出了以下结果。

{"pricing":null}

当我在服务器端打印return语句时,输出如下

[Connection.Pricing@3d5bae2]

没有错误。我做错了什么?

这是我的客户端代码

public String loadTable(String tablename) throws ClientProtocolException, IOException {
    pathParams.add("tablename", tablename);
    ClientResponse response = service.path("access").path("loadtable").queryParams(pathParams).type(MediaType.APPLICATION_JSON).get(ClientResponse.class);
    String responseString = response.getEntity(String.class);
    return responseString;

这是我的服务器端

@Path("/loadtable")
@GET
@Produces(MediaType.APPLICATION_JSON) 
public List<Pricing> loadTable(@QueryParam("tablename") String tablename) throws Exception {
    List<Pricing> pricing = new ArrayList<Pricing>();
    try {
        query = c.prepareStatement("select * from " + tablename);
        ResultSet ets_rs = query.executeQuery();

        while (ets_rs.next()) {
        pricing.add(new Pricing(ets_rs.getString(1), ets_rs.getString(2),  ets_rs.getString(3), ets_rs.getString(4), ets_rs.getString(5), ets_rs.getString(6)));
        }
        query.close();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (c != null) {
            c.close();
        }
    }
    return pricing;

这是我在服务器端的 POJO 类

@XmlRootElement
class Pricing {

String category;
String lower_limit;
String class_no;
String value;
String employee;
String upper_limit;

public Pricing() {
}



Pricing(String a, String b, String c, String d, String e, String f) {
    category = a;
    lower_limit = b;
    upper_limit = c;
    class_no = d;
    value = e;
    employee = f;
}
//getters
}

最佳答案

您需要重写Pricing 类中的toString 方法,以漂亮的方式打印对象。默认的 toString() 方法显示对象类及其由 @ 字符分隔的哈希码,因此您会看到这个

Pricing@3d5bae2

这是 Pricing 类的 toString 方法的一个实现:

@Override
public String toString() {
    return "Pricing [category=" + category + ", lower_limit=" + lower_limit
            + ", class_no=" + class_no + ", value=" + value + ", employee="
            + employee + ", upper_limit=" + upper_limit + "]";
}

关于java - 返回空 JSON 的 Jersey Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19851022/

相关文章:

java - 小服务程序 : Opening of a new window with http 404 error with IE6 when download a file (but file dowloaded)

javascript - 不同域之间共享数据

java - 从 Web 应用程序中现有的 SOAP Web 服务迁移到 REST Web 服务

java - 将 fragment 类作为参数传递

java - 是否可以确定 Android 位图上 png 压缩的类型?

java - 如何将初始输入文件分发到Hadoop MapReduce中的节点?

javascript - AngularJS:从相同数据中选择多个列表选项

json - R 到使用 JSONLITE 的分层 JSON?

json - 无法在Elasticsearch-hadoop中使用SchemaRDD.saveToES()从HDFS索引JSON

javascript - 在 ASP.net 中从服务器端调用带有参数的客户端 JavaScript