Android 中Jackson的简单使用
第一步:下载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的简单使用的更多相关文章
- [原创]Android中LocationManager的简单使用,获取当前位置
Android中LocationManager的提供了一系列方法来地理位置相关的问题,包括查询上一个已知位置:注册/注销来自某个 LocationProvider的周期性的位置更新:以及注册/注销接近 ...
- android中的回调简单认识
首先说一下最抽象的形式--2个类,A类和B类.A类含有1个接口.1个接口变量.(可能含有)1个为接口变量赋值的方法以及1个会使用接口变量的"地方";B类实现A中的接口,(可能)含有 ...
- Android中ProgressDialog的简单示例
网上一般对进度条的示例都是如何显示,没有在任务结束如何关闭的文章,参考其他文章经过试验之后把整套进度条显示的简单示例如下: 建立android工程等工作都略去,Google一下就可以了. 下面来介绍主 ...
- iOS 和Android中的正则表达式简单使用
ios 中需要使用NSRegularExpression类,NSTextCheckingResult类. 下面给出最基本的实现代码 NSRegularExpression *regex = [NSRe ...
- Android中SharePreferences的简单实现
Android中提供SharePreferences这种轻量级的数据存储模式,这种模式能够存储少量数据,并能为自身和其他应用提供数据接口.相对于其他数据存储方式,SharePreferences更加轻 ...
- Android中实现一个简单的逐帧动画(附代码下载)
场景 Android中的逐帧动画,就是由连续的一张张照片组成的动画. 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 ...
- Android中Tomcat的简单配置和使用
因为学Android已经有一段时间了,但是在学校,服务器方面是个短板啊,没有专门的服务器拿给我们学生练手,所以只有自己找办法了.当然,Tomcat就是不二的选择了. 在网上看了看资料,还是觉得自己记录 ...
- Android中SharedPerforences的简单使用示例 --Android基础
SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置,比如Activity状态,Activity暂停时,将此activity的状态保存到SharedP ...
- Android笔记(二十八) Android中图片之简单图片使用
用户界面很大程度上决定了APP是否被用户接收,为了提供友好的界面,就需要在应用中使用图片了,Android提供了丰富的图片处理功能. 简单使用图片 使用Drawable对象 为Android应用增加了 ...
随机推荐
- CSVN备份初体验
备份方法挺多的,目前我知道有四种 其一: 首先复制旧csvn服务器上repositories下的版本库文件夹到新csvn服务器repositories文件夹下面(做以下修改时最好把csvn服务停掉) ...
- linux之数据备份
第一种方法:tar备份 [root@bogon ~]# cat bp/linux.txt no centos [root@bogon ~]# tar cvf bp.tar bp //打包bp目录 bp ...
- 开发工具idea背景及字体设置
背景设置: 按两下shift,在搜索框里输入set Background Image,选择set Background Image,如图所示: 设置图片的路径和透明度,如图所示: ★ 注意:idea ...
- Module Sources
转自:https://www.terraform.io/docs/modules/sources.html 主要记录module source 的格式 The source argument in a ...
- 几个方便的nodejs 任务调度框架
摘录几个方便的nodejs 任务调度包 node-cron https://github.com/kelektiv/node-cron node-schedule https://github.com ...
- windows 8,关闭随意窗体都提示“已停止工作”的解决的方法
电脑用的好好的,突然出现了关闭随意窗体都提示"已停止工作",每次都是这样.想想也就是偶尔优化一下,近期也没有改动过什么系统设置呀,突然想到昨晚JLink_V8固件丢失 ...
- C# to IL 18 Glossary(术语)
- Quartz.NET-2.3.3 各种 数据库配置 类别大全
<!--SqlServer <add key="quartz.dataSource.myDS.connectionString" value="Data So ...
- day5 大纲
01 昨日内容回顾 list: 增: append insert(index,object) extend() 迭代着追加 删: pop(默认删除最后一个)按照索引去删除 有返回值 remove 按照 ...
- jQuery的ready()事件与js中的onload事件的区别
出处:http://blog.csdn.net/yuanmei1986/article/details/50781453