sam*_*lux 10
要生成JSON,通常只需要指定@Produces(MediaType.APPLICATION_JSON).但是,默认情况下,这将采用JAXB路由.
使用Object - > JAXB - > JSON,您必须注释要映射的类@XmlRootElement.这样可以正常工作,但是一旦你进行了序列化,HashMap你就不会得到一个显而易见的{keyOne:"one",keyTwo:"two"}东西,而是一些奇怪的东西{entry:[{key:"keyOne",value:"one"},{key:"keyTwo",value:"two"}]}.
因此,要采用直接的Object - > JSON方式,只需在web.xml中指定以下内容:
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
Run Code Online (Sandbox Code Playgroud)
使用此JSON映射将按照您期望的方式工作.只是不要忘记删除@XmlRootElement注释,它们会在打开POJO映射时强制生成XML.
另外看看我的问题:使用Jersey/JAXB/Jackson的Java.util.Map到JSON对象
参考:http://jersey.java.net/nonav/documentation/latest/json.html#d4e894
| 归档时间: |
|
| 查看次数: |
10677 次 |
| 最近记录: |