初步探索jackson对json格式处理
来源:互联网 发布:网络电视要求的带宽 编辑:程序博客网 时间:2024/05/15 01:35
简介
Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。相比json-lib框架,Jackson所依赖的jar包较少,简单易用并且性能也要相对高些。而且Jackson社区相对比较活跃,更新速度也比较快。
jackson所需要的jar包可从此处下载
代码实战
javaimport com.fasterxml.jackson.annotation.JsonInclude.Include;import com.fasterxml.jackson.databind.JavaType;import com.fasterxml.jackson.databind.ObjectMapper;public class test { public static void main(String[] args) { ObjectMapper objectMapper = new ObjectMapper(); // 设置日期格式化 objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); // 设置null不序列化 objectMapper.setSerializationInclusion(Include.NON_NULL); try { //用户对象转为Json串 Person person1 = new Person("redgo", 20); String json_person1 = objectMapper.writeValueAsString(person1); //{"name":"redgo","age":20} Person person2 = new Person("bluego", 22); String json_person2 = objectMapper.writeValueAsString(person2); //List对象转为Json串 List<Person> list = new ArrayList<Person>(); list.add(person1); list.add(person2); String json_list = objectMapper.writeValueAsString(list); //[{"name":"redgo","age":20},{"name":"bluego","age":22}] //JSON串转为用户对象 person1 =objectMapper.readValue(json_person1, Person.class); //JSON串转为List对象 JavaType javaType = objectMapper.getTypeFactory().constructParametricType(ArrayList.class, Person.class); list = (List<Person>)objectMapper.readValue(json_list, javaType); //用户组对象(包含List集合)转为Json串 PersonGroup personGroup = new PersonGroup("亲戚", list); String json_personGroup = objectMapper.writeValueAsString(personGroup); //{"name":"亲戚","persons":[{"age":20,"name":"redgo"},{"age":22,"name":"bluego"}]} //JSON串转为用户组对象(包含List集合) personGroup =objectMapper.readValue(json_personGroup, PersonGroup.class); } catch (Exception e) { e.printStackTrace(); } }}
Person类
javapublic class Person { private String name; private int age; public Person(){} public Person(String name, int age){ this.name = name; this.age = age; } 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; } @Override public String toString() { return "Person [name=" + name + ", age=" + age + "]"; }}
PersonGroup类
javapublic class PersonGroup { private String name; private List<Person> persons = new ArrayList<Person>(); public PersonGroup(){}; public PersonGroup(String name, List<Person> persons){ this.name = name; this.persons = persons; }; public String getName() { return name; } public void setName(String name) { this.name = name; } public List<Person> getPersons() { return persons; } public void setPersons(List<Person> persons) { this.persons = persons; } @Override public String toString() { return "PersonGroup [name=" + name + ", persons=" + persons + "]"; } }
0 0
- 初步探索jackson对json格式处理
- 在java中使用Jackson处理json格式
- jackson时间格式处理
- SpringMVC json处理 (Jackson)
- jackson处理json对象
- 利用Jackson处理JSON
- Jackson Json处理工具包
- json.net 对json格式进行处理
- Jquery对json格式的处理
- 对json中时间格式的处理
- python对json格式字符串的处理
- jackson时间格式的处理
- Java使用jackson操作Json格式数据
- jackson不使用注解处理Date格式
- JAX-RS之jackson去处理json
- jackson处理json对象相关小结
- Jackson 高性能的JSON处理 ObjectMapper
- 使用Jackson在Java中处理JSON
- poj 1321 棋盘问题
- JAXB解析xml 的XML声明
- 习题3-4 周期串(Periodic Strings)
- 海量数据处理 算法总结
- CentOS6.4 yum服务器安装
- 初步探索jackson对json格式处理
- Windows7下MySQL5.5.20免安装版的配置
- scikit-learn:4. 数据集预处理(clean数据、reduce降维、expand增维、generate特征提取)
- 图像处理面试方法和前景
- 文字信息无缝滚动效果
- 最快Android模拟器Genymotion的安装与使用完整教程(多图,慎点)
- ZOJ 3856 Goldbach FFT计数 2013年长沙网络赛
- Java中判断字符串是否为数字的五种方法
- 例题3-1 TeX中的引号(TeX)