好的,我有一个Jersey REST服务,我想使用JSONObject作为输入和输出。方法是POST。问题是在这种情况下使用Pojos是不合适的,所以我宁愿避免开销。自然符号很重要。重点是我想要一个非常宽容的系统,并且基本上接受任何合法的JSON。我还需要保留原始形式的JSON。
答案 0 :(得分:0)
没有什么可以强迫你把POJO当作你的POST参数。它可以是一个String,在这种情况下,它将是一个JSON字符串,您可以轻松地映射到JSONObject和从JSONObject映射。
@POST
public void post_something( String json ) {
JSONObject jsonObject = new JSONObject( json );
LOG.info( "Posting: {}", props.get( "name" );
}
然后你就可以发送" {\"名称":" \ William Burroughs \"}"到您的邮寄请求。您也可以轻松地从地图转到JSON字符串。例如:
@GET
public String get_something() {
JSONObject object = myservice.getJSONOBject();
return object.toString();
}