【发布时间】:2016-10-15 20:58:23
【问题描述】:
所以我最近从 Jersey 1.x 迁移到了 2.x,经过一长串的问题,终于让它工作了。但是,每当我尝试访问返回 JSONObject 的资源时,我都会遇到问题。首先,这是我的示例方法:
@GET
@Path("/foobar")
@Produces(MediaType.APPLICATION_JSON)
public JSONObject print2() throws JSONException {
JSONObject jsonObject = new JSONObject();
jsonObject.put("hi", 22);
return jsonObject;
}
现在,如果我将 Jettison 1.3.8 用于我的 JSONObject,如果我尝试访问此资源,我会得到以下信息:
{"escapeForwardSlashAlways":true}
不确定那里发生了什么。然后我尝试了一些旧版本的 Jettison 和 org.json 但这些给了我这个问题:
No serializer found for class org.json.JSONObject and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) )
当这种方法在 Jersey 1.x 上对我很有效时,我不确定为什么会遇到这些问题。
【问题讨论】:
-
你是否使用jackson来处理json序列化,反之亦然?
-
我也对此感到震惊,使用 jersey 1.x 我能够返回 jsonobect。但是在球衣 2.x 中,我遇到了 escapeForwardSlashAlways 错误。我无法在 pogo 中设置值以返回响应,因为响应将嵌套 jsonobject 和 jsonarray ?为什么这适用于球衣 1.x 而不是 2.x?
标签: java jersey-2.0 jsonobject