我在Web服务中使用java.util.Date属性填充模型对象。
我用JDBC中的这个Date填充模型对象:
compRec.setEffDt(new java.util.Date(resultSet.getTimestamp("eff_dt").getTime()));
在我的数据库查询(Oracle)工具中选择行/列,它显示
1999-01-13 21:55:00
创建对象后,IDE调试器会正确显示类型和内容:
Date@5952: Jan 13 21:55:00 MST 1999
所以,在我看来,此时一切都完好无损。但是,Jersey客户端使用以下JUnit测试将其序列化为JSON,如下所示:
@Test
public void getDetails0() {
long value = 1L;
try {
int companyId = 333;
Client client = Client.create();
WebResource webResource = client.resource(webServiceTestBaseUri + implPath + "/data/" + companyId);
CompanyGetDetails clientResponse = webResource.accept("application/json").type("application/json").get(CompanyGetDetails.class);
System.out.println(clientResponse.toJson());
} catch (Exception e) {
value = -1L;
e.printStackTrace();
}
assertEquals(1L, value);
}
然而,在泽西岛方面看起来像:
"effDt": "Wed Mar 28 04:42:25 MDT 132903212",