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();
}
}
}

  

@Data
public 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注解使用心得的更多相关文章

  1. [Java] jackson注解

    Jackson(http://jackson.codehaus.org)库是基于java语言的开源json格式解析工具.相对于javajson解析的其他库,诸如json-lib.gson包,Jacks ...

  2. Jackson注解学习参考(转)

    转:http://wong-john.iteye.com/blog/1753402 以下内容摘录.翻译自https://github.com/FasterXML/jackson-annotations ...

  3. jackSon注解– @JsonInclude 注解不返回null值字段

    @Data @JsonInclude(JsonInclude.Include.NON_NULL) public class OrderDTO { private String orderId; @Js ...

  4. jackson 注解的使用

    在实体对象上添加 @JsonAutoDetect , 表明对该实体对象序列化成json串. @JsonAutoDetect public class User{ private int id; pri ...

  5. Jackson注解简介

    1.注解: @JsonInclude(JsonInclude.Include.NON_NULL) 1.如果放在属性上,如果该属性为NULL则不参与序列化 ;2.如果放在类上,那对这个类的全部属性起作用 ...

  6. @Transactional注解使用心得

    配置基于注解的声明式事务: ...配置tx,aop的命名空间 xmlns:tx="http://www.springframework.org/schema/tx" xmlns:a ...

  7. @GeneratorValue与@GenericGenerator注解使用心得

    参考博主们的 http://blog.csdn.net/tianxiezuomaikong/article/details/64930151

  8. 【JSON 注解】JSON循环引用1-----Jackson常用注解介绍 eq:@JsonIgnore

    循环引用:实体A与实体B有关系,A中有B作为字段,B中有A作为一个字段.查询A对象后,将A对象转化为JSON格式数据时,会因为序列化过程中导致A中有B字段,B字段中又有A,这样就引起了循环引用的问题! ...

  9. json解析jackson ,Gson,等知识总结

    相关资料链接: Java构造和解析json数据的两种方法详解 java解析json Android网络之数据分析---使用Google Gson 解析Json数据 使用jackson在java中处理j ...

随机推荐

  1. migration integer limit option

    https://gist.github.com/stream7/1069589 :limit Numeric Type Column Size Max value 1 tinyint 1 byte 1 ...

  2. Cookie使用时需要注意个数及大小限制

    各浏览器对Cookie有一定的限制,在使用时需要格外注意. 各浏览器之间对cookie的不同限制:   IE6.0 IE7.0/8.0/9.0+ Opera FF Safari Chrome cook ...

  3. [BZOJ3262]陌上花开

    [BZOJ3262]陌上花开 试题描述 有n朵花,每朵花有三个属性:花形(s).颜色(c).气味(m),又三个整数表示.现要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量.定义一朵花A比另一 ...

  4. 【HNOI2008】Cards BZOJ 1004

    Description 小春现在很清闲,面对书桌上的N张牌,他决定给每张染色,目 前小春只有3种颜色:红色,蓝色,绿色.他询问Sun有多少种染色方案,Sun很快就给出了答案.进一步,小春要求染出Sr张 ...

  5. python之路六

    面向对象 引言 提到面向对象,总是离不开几个重要的术语:多态(Polymorphism),继承(Inheritance)和封装(Encapsulation).Python也是一种支持OOP的动态语言, ...

  6. secureCRT会话导入到xshell中的方法

    官方给出了一个工具,sessionimporter.exe 不过软件有点老了,导入的会话路径和xshell默认的会话路径不一致,导致导入后,xshell没有导入的会话信息 sessionimporte ...

  7. ABAP 订单转交货单

    *& Report  ZSDR025 *& *&---------------------------------------------------------------- ...

  8. Redhat/Ubuntu/Windows下安装Docker

    Redhat/Ubuntu/Windows下安装Docker 什么是Docker Docker是Docker.inc公司开源的一个基于LXC技术之上构建的Container容器引擎,基于Go语言并遵从 ...

  9. 设置app的启动图

    Step1 1.点击Image.xcassets 进入图片管理,然后右击,弹出"New Launch Image" 2.如图,右侧的勾选可以让你选择是否要对ipad,横屏,竖屏,以 ...

  10. 51nod1088(最长回文子串)

    题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1088 题意: 中文题目诶~ 思路: 这道题字符串长度限定为1 ...