jackson使用记录

与springMVC项目集成

1.     将jar包引入工程。

2.     在*-servlet.xml配置文件中将jackson转换器加入转换器列表。

       <mvc:annotation-driven>

              <mvc:message-converters>

                     <beanid="mappingJacksonHttpMessageConverter"

                            class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">

                            <propertyname="supportedMediaTypes">

                                   <list>

                                          <value>text/html;charset=UTF-8</value>

                                   </list>

                            </property>

                     </bean>

              </mvc:message-converters>

       </mvc:annotation-driven>

3.   在需要返回json数据的controller接口上加上@ResponseBody注解,比如:

       @RequestMapping("page")

       @ResponseBody

       publicPagedMessage page(HttpServletRequest request, HttpServletResponse response,Integer p, String device_token) {

              ……省略……

              returnpagedMessage;

}

如果想把某个domain以json格式返回给客户端,但是只希望展示其中某些字段。该怎么办呢?必须要重新定义一个dto对象吗?答案是可以不用。直接在domain不需要输出的字段上加上@JsonIgnore注解就可以了,比如:

              @JsonIgnore

              private Integer isDeleted;

如果想在后端直接拿到转换后的json字符串,而不是希望转换器在返回过程中转换,可以通过如下的方式:

List<Picture> pictures =articleService.getPicturesOfArticle(id);

ObjectMapper mapper = new ObjectMapper();

String jsonPictures =mapper.writeValueAsString(pictures);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值