首页 > 代码库 > jackson注解使用心得
jackson注解使用心得
maven依赖:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.1</version>
</dependency>
直接上代码:
import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind.ObjectMapper;import com.tqmall.grace.entity.rabbitmq.SaleLogBo;import org.junit.Test;import java.io.IOException;import java.util.Date;/** * Created by tom_plus on 16/8/26. */public class JsonTest { @Test public void BoToJson() { SaleLogBo logBo = new SaleLogBo(); logBo.setId(1); logBo.setBillNo("xj383833"); logBo.setShippingName("国际快递"); logBo.setGmtCreates("2016-08-09"); logBo.setUpdateDate(new Date()); ObjectMapper objectMapper = new ObjectMapper(); try { String st = objectMapper.writeValueAsString(logBo); try { SaleLogBo bo = objectMapper.readValue(st, SaleLogBo.class); System.out.println(bo.getBillNo()+">>>>>"); System.out.println("id:"+bo.getId()); } catch (IOException e) { e.printStackTrace(); } System.out.println(st); } catch (JsonProcessingException e) { e.printStackTrace(); } }}
@Datapublic class SaleLogBo implements Serializable{ private Integer warehouseId; @JsonProperty("sale_id") private Integer id; private Integer payType; private Integer shippingId; private String shippingName; private String comment; private BigDecimal shippingFee; @JsonIgnore private String gmtCreates; private Integer creator; private Integer shopId; private Integer orderFlag; private String billNo; private String logisticsName; private Integer billStatus; @JsonFormat(pattern = "yyyy年MM月dd日 HH时mm分ss秒",timezone="GMT+8") private Date updateDate;}
跑main函数运行结果:
billNo:xj383833
id:1
{"warehouseId":null,"payType":null,"shippingId":null,"shippingName":"国际快递","comment":null,"shippingFee":null,"creator":null,"shopId":null,"orderFlag":null,"billNo":"xj383833","logisticsName":null,"billStatus":null,"updateDate":"2016年08月26日 17时50分45秒","sale_id":1}
注解解析:
@JsonProperty,在把bo转成json的时候,如果要修改某些属性的名字,可以使用。
@JsonIgnore bo转成json的时候,进行序列化的时候忽略标记该注解的属性。
@JsonFormat 格式转化,例如@JsonFormat(pattern = "yyyy年MM月dd日 HH时mm分ss秒",timezone="GMT+8")
,其中要加上timezone="GMT+8",代表北京时间,否则将合北京时间差一天。
jackson注解使用心得
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。