Java中如何使用杰克逊

  介绍

这篇文章将为大家详细讲解有关Java中如何使杰克逊用小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

序列化

序列化(序列化)是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。

Json是什么?

杰森是JavaScript对象表示法——JavaScript对象表示法,是一种轻量级数据交换格式。主要用于数据传输,比如说在后端写了一个Java对象,想在其他地方(前端)使用这个对象,就需要转换为Json这种形式进行传输。

1。基本规则

数据在名称/值对中:json数据是由键值对构成的

值用引号引起来,也可以不使用引号

值的取值类型:数字,字符串,布尔值,数组(如{“persons":[{},{},{}]}),对象,空

数据用逗号分隔:多个键值对由逗号分隔

方括号保存数组:[]

花括号保存对象:使用{}定义json格式

2。获取数据

json对象。键名

json对象(“键名“]

数组对象[索引)

遍历

3。用途

以某种存储形式使自定义对象持久化;

将对象从一个地方传递到另一个地方。

使程序更具维护性。杰克逊

Java生态圈中有很多处理JSON和XML格式化的类库,常见的解析器:Jsonlib, Gson, fastjson, Jackson.Jackson是其中比较著名的一个,也比较方便,杰克逊相对来说比较高效,在项目中主要使用杰克逊进行JSON和Java对象转换,下面给出一些杰克逊的JSON操作方法。

1。导入Jar包

2。Json注解

@JsonIgnore此注解用于属性上,作用是进行Json操作时忽略该属性。

@JsonFormat此注解用于属性上,作用是把日期类型直接转化为想要的格式,如@JsonFormat(模式=皔yyy-MM-dd HH-mm-ss")。

@JsonProperty此注解用于属性上,作用是把该属性的名称序列化为另外一个名称,如把trueName属性序列化为名字,@JsonProperty (“name")。

public  class  Person  {   ,   private 才能;String 名称;   private 才能;int 年龄;   ,,@JsonProperty (“gender")   private 才能String 性别;   ,//才能,@JsonIgnore//忽略该属性,不进行转换   @JsonFormat才能(=pattern “yyyy-MM-dd")   private 才能;Date 生日;   ,   public 才能;Date  getBirthday (), {   ,,,return 生日;   ,,}   ,   public 才能;void  setBirthday (Date 生日),{   ,,,this.birthday =,生日;   ,,}   ,   public 才能;String  getName (), {   ,,,return 名称;   ,,}   ,   public 才能;void  setName (String 名称),{   ,,,this.name =,名称;   ,,}   ,   public 才能;int  getAge (), {   ,,,return 年龄;   ,,}   ,   public 才能;void  setAge (int 年龄),{   ,,,this.age =,年龄;   ,,}   ,   public 才能;String  getGender (), {   ,,,return 性别;   ,,}   ,   public 才能;void  setGender (String 性别),{   ,,,this.gender =,性别;   ,,}   ,   @Override才能   public 才能;String  toString (), {   ,,,return “人{“+   ,,,,,,,“name=& # 39;“, +, name  +, & # 39; \ & # 39; & # 39; +   ,,,,,,,,,,岁=?+,age  +   ,,,,,,,,,,性别=& # 39;“,+,gender  +, & # 39; \ & # 39; & # 39; +   ,,,,,,,& # 39;}& # 39;;   ,,}   }

3. Json转为Java对象

导入杰克逊的相关的jar包

创建杰克逊的核心对象,objectmap

调用objectmap的相关方法进行数据转换,将Json字符串转换为Java对象

<强> readValue (Json字符串数据,类的. class)

//将Json字符串转为Java对象   @Test才能   public 才能;void  test5 (), throws 异常{   ,,,//json字符串   ,,,String  str=皗\“性别\“:\“男\”,\“\“名称:\“zhangsan \”, \“\“年龄:23}“;   ,,,//杰克逊核心对象   ,,,ObjectMapper  mapper =, new  objectmap ();   ,,,//使用readValue方法进行转换   ,,,Person  Person =, mapper.readValue (str, Person.class);   ,,,System.out.println(人);   ,,}

4. Java对象转换Json

导入杰克逊的相关的jar包

创建杰克逊的核心对象,objectmap

调用objectmap的相关方法进行数据转换,将Java对象转换为Json

Java中如何使用杰克逊