这篇文章将为大家详细讲解有关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