新澳门萄京娱乐场官网

当前位置:新萄京娱乐场手机版 > 新澳门萄京娱乐场官网 > Java 杰克逊 ObjectMapper字符串的系列化和反连串化

Java 杰克逊 ObjectMapper字符串的系列化和反连串化

来源:http://www.chrisproduction.com 作者:新萄京娱乐场手机版 时间:2019-10-05 16:46
1.定义一个User对象

public class User { private String name; private int age; private Date birthday; // 没有使用jackson注解将会变成时间戳 private String email; public User(String name, int age, Date birthday, String email) { this.name = name; this.age = age; this.birthday = birthday; this.email = email; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } }

2.使用jackson 的ObjectMapper 类中的 readValue()方法进行转换

public class JsonTest { public static void main(String[] args) throws JsonGenerationException, JsonMappingException, IOException { User user=new User("隔壁老王", 18, new Date; User user1=new User("隔壁老王", 18, new Date; List<User> list = new ArrayList<User>(); list.add; list.add; //转换器 ObjectMapper mapper = new ObjectMapper(); // 对象--json数据 String json=mapper.writeValueAsString; //将对象转换成json // 将json 字符串转成User类 User u = mapper.readValue(json, User.class); // 将json 字符串转化成List<User> List<User> list1 = mapper.readValue(list, new TypeReference<List<People>> // 其他的如将文件中转化成类的方法也相识 如 // readValue(File src, TypeReference valueTypeRef) // readValue(File src, Class<T> valueType) }}

3.使用jackson 的ObjectMapper 类中的 writerValue()方法进行转换

public class JsonTest { public static void main(String[] args) throws JsonGenerationException, JsonMappingException, IOException { SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd"); User user=new User("隔壁老王", 18, dateformat.parse("1996-10-01"), "110"); //转换器 ObjectMapper mapper = new ObjectMapper(); //User类转JSON 字符串 String json = mapper.writeValueAsString; System.out.println; //Java集合转JSON 字符串 List<User> users = new ArrayList<User>(); users.add; String jsonlist = mapper.writeValueAsString; System.out.println; } }}

4.使用jackson ObjectMapper获取具体json 字符串中某个key值对于的value

// 假设 json字符串格式为 {content:{rendered: "23"}, titile:{rendered: "别跑"}} 则获取方式如下: ObjectMapper mapper = new ObjectMapper(); mapper.readTree.forEach(jsonNode -> { String renderedContent = jsonNode.path("content").path("rendered").asText; String title = jsonNode.path.path("rendered").asText;

5.使用jackson 的提供了一系列注解

@JsonIgnore 此注解用于属性上,作用是进行JSON操作时忽略该属性。@JsonFormat 此注解用于属性上,作用是把Date类型直接转化为想要的格式,如@JsonFormat(pattern = "yyyy-MM-dd HH-mm-ss")。@JsonProperty 此注解用于属性上,作用是把该属性的名称序列化为另外一个名称,如把trueName属性序列化为name,@JsonProperty。

本文由新萄京娱乐场手机版发布于新澳门萄京娱乐场官网,转载请注明出处:Java 杰克逊 ObjectMapper字符串的系列化和反连串化

关键词:

上一篇:没有了

下一篇:没有了