加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 杰克逊与jaxb

发布时间:2020-12-15 04:54:41 所属栏目:Java 来源:网络整理
导读:在泽西岛使用杰克逊 JSON处理器时,何时以及为什么我需要在两者之间使用JAXB注释?对象 – JAXB- JSON 杰克逊还提供自己的JAX-RS提供程序,直接使用Object- JSON.这种方法缺少什么?或者为什么我更喜欢另一个 ps:我也用春天 解决方法 要生成JSON,通常只需要指
在泽西岛使用杰克逊 JSON处理器时,何时以及为什么我需要在两者之间使用JAXB注释?对象 – > JAXB-> JSON

杰克逊还提供自己的JAX-RS提供程序,直接使用Object-> JSON.这种方法缺少什么?或者为什么我更喜欢另一个

ps:我也用春天

解决方法

要生成JSON,通常只需要指定@Produces(MediaType.APPLICATION_JSON).但是,默认情况下,这将采用JAXB路由.

使用对象 – > JAXB – > JSON您必须使用@XmlRootElement注释要映射的类.这样可以正常工作,但是一旦你开始序列化HashMap,你就不会得到一个明显的{keyOne:“one”,keyTwo:“two”},而是像{entry:[{key:“keyOne”,值: “一个”},{键: “keyTwo”,值 “2”}]}.

所以采取直接对象 – > JSON方式,只需在web.xml中指定以下内容:

<init-param>
        <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
        <param-value>true</param-value>
    </init-param>

使用此JSON映射将按照您期望的方式工作.只是不要忘记删除@XmlRootElement注释,它们会在打开POJO映射时强制生成XML.

另外看看我的问题:Java.util.Map to JSON Object with Jersey / JAXB / Jackson

参考:http://jersey.java.net/nonav/documentation/latest/json.html#d4e894

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读