第一步:下载Jackson的jar包http://pan.baidu.com/s/1qXHwtQ0

第二步:在gradle中导入jar包

第三步:创建ObjectMapper对象的单例

JacksonMapper.java
public class JacksonMapper {
private static final ObjectMapper mapper = new ObjectMapper(); private JacksonMapper() {
} public static ObjectMapper getInstance() {
return mapper;
}
}

第四步:创建工具类JSONUtil.java

public class JSONUtil {

    public static String getJsonString(Object object) throws Exception {
return JacksonMapper.getInstance().writeValueAsString(object);
} public static Object toObject(String jsonString, Class cls) throws Exception {
ObjectMapper objectMapper = new ObjectMapper();
return objectMapper.readValue(jsonString, cls);
}
}
第五步:使用
Birthday birthday = new Birthday(2000, 4, 28);
Person person = new Person("zhang san", 29, birthday);
try {
Log.d(TAG, "onCreate: " + JSONUtil.getJsonString(person));
} catch (Exception e) {
Log.e(TAG, "onCreate: " + e.toString());
e.printStackTrace();
} String jsonStr = "{\"name\":\"zhang san\",\"birthday\":{\"day\":28,\"month\":4,\"year\":2000},\"age\":29}";
try {
Log.d(TAG, "onCreate: " + JSONUtil.toObject(jsonStr, Person.class));
} catch (Exception e) {
e.printStackTrace();
} 第六步:Birthday.java
public class Birthday {
private int year;
private int month;
private int day; public int getYear() {
return year;
} public void setYear(int year) {
this.year = year;
} public int getMonth() {
return month;
} public void setMonth(int month) {
this.month = month;
} public int getDay() {
return day;
} public void setDay(int day) {
this.day = day;
} public Birthday() {
super();
} public Birthday(int year, int month, int day) {
super();
this.year = year;
this.month = month;
this.day = day;
} @Override
public String toString() {
return "Birthday [year=" + year + ", month=" + month + ", day=" + day
+ "]";
}
}
Person.java
public class Person {
private String name;
private int age;
private String number;
private Birthday birthday; 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 Birthday getBirthday() {
return birthday;
} public void setBirthday(Birthday birthday) {
this.birthday = birthday;
} public Person() {
super();
} public void setNumber(String number) {
this.number = number;
} public String getNumber() {
return number;
} public Person(String name, int age, Birthday birthday) {
super();
this.name = name;
this.age = age;
this.birthday = birthday;
} @Override
public String toString() {
return "Person [name=" + name + ", age=" + age + ", birthday="
+ birthday + "]";
}
结果如下:

Android 中Jackson的简单使用的更多相关文章

  1. [原创]Android中LocationManager的简单使用,获取当前位置

    Android中LocationManager的提供了一系列方法来地理位置相关的问题,包括查询上一个已知位置:注册/注销来自某个 LocationProvider的周期性的位置更新:以及注册/注销接近 ...

  2. android中的回调简单认识

    首先说一下最抽象的形式--2个类,A类和B类.A类含有1个接口.1个接口变量.(可能含有)1个为接口变量赋值的方法以及1个会使用接口变量的"地方";B类实现A中的接口,(可能)含有 ...

  3. Android中ProgressDialog的简单示例

    网上一般对进度条的示例都是如何显示,没有在任务结束如何关闭的文章,参考其他文章经过试验之后把整套进度条显示的简单示例如下: 建立android工程等工作都略去,Google一下就可以了. 下面来介绍主 ...

  4. iOS 和Android中的正则表达式简单使用

    ios 中需要使用NSRegularExpression类,NSTextCheckingResult类. 下面给出最基本的实现代码 NSRegularExpression *regex = [NSRe ...

  5. Android中SharePreferences的简单实现

    Android中提供SharePreferences这种轻量级的数据存储模式,这种模式能够存储少量数据,并能为自身和其他应用提供数据接口.相对于其他数据存储方式,SharePreferences更加轻 ...

  6. Android中实现一个简单的逐帧动画(附代码下载)

    场景 Android中的逐帧动画,就是由连续的一张张照片组成的动画. 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 ...

  7. Android中Tomcat的简单配置和使用

    因为学Android已经有一段时间了,但是在学校,服务器方面是个短板啊,没有专门的服务器拿给我们学生练手,所以只有自己找办法了.当然,Tomcat就是不二的选择了. 在网上看了看资料,还是觉得自己记录 ...

  8. Android中SharedPerforences的简单使用示例 --Android基础

    SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置,比如Activity状态,Activity暂停时,将此activity的状态保存到SharedP ...

  9. Android笔记(二十八) Android中图片之简单图片使用

    用户界面很大程度上决定了APP是否被用户接收,为了提供友好的界面,就需要在应用中使用图片了,Android提供了丰富的图片处理功能. 简单使用图片 使用Drawable对象 为Android应用增加了 ...

随机推荐

  1. 学生信息管理 和ROM常见的操作

    ORM版学员管理系统 班级表 表结构 class Class(models.Model): id = models.AutoField(primary_key=True) # 主键 cname = m ...

  2. 【VBA研究】VBA自己定义函数參数类型不符的错误

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/iamlaosong/article/details/36871769 作者:iamlaosong 1 ...

  3. 怎样解题 (G. 波利亚 著)

    第一部分 (已看) 目的 1. 帮助学生 2. 问题,建议,思维活动 3. 普遍性 4. 常识 5. 教师和学生,模仿和实践 主要部分,主要问题 6. 四个阶段 7. 理解题目 8. 例子 9. 拟订 ...

  4. DevExpress的DateEdit控件正确显示日期的周名称

    DevExpress 的控件相当好看而且很好用,但 DateEdit 在是显示周名时,只能显示一个“星”字. 以下是解决方法,此解决方法不需修改其源码,所以免去了重新编译的必要,可直接使用其发布的标准 ...

  5. Linq中left join之多表查询

    using System; using System.Collections; using System.Collections.Generic; using System.Data; using S ...

  6. [转]JDK动态代理

    代理模式         代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息.过滤消息.把消息转发给委托类,以及事后处理消息等.代理类与委托类之间 ...

  7. py-day1-3 python基本数据类型

    数据的基本类型: 数字:

  8. 《Windows核心编程》第3章——深入理解handle

    本文借助windbg来理解程序中的函数如何使用handle对句柄表进行查询的.所以先要开启Win7下Windbg的内和调试功能. 解决win7下内核调试的问题 win7下debug默认无法进行内核调试 ...

  9. typedef定义数组类型

    typedef语句定义数组类型 1. 一维数组类型的定义格式 typedef <元素类型关键字><数组类型名>[<常量表达式>]; 例如: (1) typedef ...

  10. ionic 监听路由事件变化

    (function(){ angular.module("cakeStore", ["ngRoute", "ionic","coo ...