Jackson学习笔记-对象序列化
2015-07-08 23:23
309 查看
一、用ObjectMapper.readValue(jsonString, Student.class) , ObjectMapper.writeValueAsString(student)
![](http://images0.cnblogs.com/blog2015/653056/201507/082245562991705.png)
二、将Java对象序列化到一个JSON文件,然后再读取JSON文件获取转换为对象。在这个例子中,创建了Student类。创建将有学生对象以JSON表示在一个student.json文件。
![](http://images0.cnblogs.com/blog2015/653056/201507/082247500965606.png)
import java.io.IOException; import org.codehaus.jackson.JsonParseException; import org.codehaus.jackson.map.JsonMappingException; import org.codehaus.jackson.map.ObjectMapper; import org.codehaus.jackson.map.SerializationConfig; public class JacksonTester { public static void main(String args[]){ //创建ObjectMapper对象。它是一个可重复使用的对象。 ObjectMapper mapper = new ObjectMapper(); String jsonString = "{\"name\":\"Mahesh\", \"age\":21}"; //map json to student try { Student student = mapper.readValue(jsonString, Student.class); System.out.println(student); mapper.enable(SerializationConfig.Feature.INDENT_OUTPUT); jsonString = mapper.writeValueAsString(student); System.out.println(jsonString); } catch (JsonParseException e) { e.printStackTrace(); } catch (JsonMappingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } class Student { private String name; private int age; public Student(){} public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String toString(){ return "Student [ name: "+name+", age: "+ age+ " ]"; } }
![](http://images0.cnblogs.com/blog2015/653056/201507/082245562991705.png)
二、将Java对象序列化到一个JSON文件,然后再读取JSON文件获取转换为对象。在这个例子中,创建了Student类。创建将有学生对象以JSON表示在一个student.json文件。
import java.io.File; import java.io.IOException; import org.codehaus.jackson.JsonGenerationException; import org.codehaus.jackson.JsonParseException; import org.codehaus.jackson.map.JsonMappingException; import org.codehaus.jackson.map.ObjectMapper; public class JacksonTester2 { public static void main(String args[]){ JacksonTester2 tester = new JacksonTester2(); try { Student student = new Student(); student.setAge(10); student.setName("Mahesh"); tester.writeJSON(student); Student student1 = tester.readJSON(); System.out.println(student1); } catch (JsonParseException e) { e.printStackTrace(); } catch (JsonMappingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } //这里将介绍将Java对象序列化到一个JSON文件,然后再读取JSON文件获取转换为对象。 //在这个例子中,创建了Student类。创建将有学生对象以JSON表示在一个student.json文件。 private void writeJSON(Student student) throws JsonGenerationException, JsonMappingException, IOException{ ObjectMapper mapper = new ObjectMapper(); mapper.writeValue(new File("student.json"), student); } private Student readJSON() throws JsonParseException, JsonMappingException, IOException{ ObjectMapper mapper = new ObjectMapper(); Student student = mapper.readValue(new File("student.json"), Student.class); return student; } }
![](http://images0.cnblogs.com/blog2015/653056/201507/082247500965606.png)
![](http://images0.cnblogs.com/blog2015/653056/201507/082248315649704.png)
相关文章推荐
- 欢迎使用CSDN-markdown编辑器
- mybatis入门基础(七)----延迟加载
- 《开源框架那些事儿22》:UI框架设计实战
- labview 活动单元格:活动单元格属性
- Java基础 泛型基础
- ios8新特性屏幕适配之sizeclass
- Java Scanner next()和nextLine()的区别
- linux sed命令
- Apache配置
- Apache配置
- 科技企业是员工的最佳“父母”?
- Adaptive Layout Tutorial: Getting Started
- iOS开发-UINavigationBar和Status Bar实用技巧
- android入门学习-java面向对象基础
- 线索二叉树
- 异常语句:try(尝试)-catch(抓取)-finally 跳转语句:break
- JDBC Connection
- 手动编译Flume
- mysql学习笔记(一)
- java版排序算法简介及冒泡排序以及优化,选择排序,直接插入排序,希尔排序,堆排序,快速排序及其优化前言 2 分类 2 稳定性 3 时间复杂度 4 Java实现版本 5 1、冒泡排序 6 2、选择排序